examples/idxd: Deal with queued tasks during drain

If a task is on the resubmit list, make sure to clear it out during the
drain phase or the queue depth will never go to 0.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: I859a03d76865d404ce43e38cfb34c27ca436e537
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11208
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Ben Walker 2022-01-21 10:02:53 -07:00 committed by Tomasz Zawadzki
parent fc48cf8681
commit 0267f8a977

View File

@ -502,11 +502,13 @@ _get_task(struct idxd_chan_entry *t)
return task;
}
static int idxd_chan_poll(struct idxd_chan_entry *chan);
static void
drain_io(struct idxd_chan_entry *t)
{
while (t->current_queue_depth > 0) {
spdk_idxd_process_events(t->ch);
idxd_chan_poll(t);
}
}