+83
−44
Loading
Our attempt to do flow control of an SQ wasn't working properly, as it did not account for previous (outstanding) requests. Include those in the calculation of our CQ slot headroom. There was also a bug in vfio_user_sq_rearm() we must fix here: when flow control is applied, it's perfectly possible for the "lost the race" case to not process any requests. In either of the two cases (lost the event index race; applied flow control), we need to make sure that we will wake back up and process the SQ again; introduce ->need_kick on the poll group for this purpose. Change-Id: Ib737364691a62461c059a98b2d171cb9976032d7 Signed-off-by:John Levon <john.levon@nutanix.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25473 Community-CI: Mellanox Build Bot Reviewed-by:
Changpeng Liu <changpeliu@tencent.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by:
Jim Harris <jim.harris@nvidia.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com>