numam-spdk/lib/idxd
paul luse f95bd3b6c7 lib/idxd: change how we complete batch desc
Previously we used a counter of our own to make sure all batch
elements plus the batch itself were done before we freed the batch.
This was due to some observations early on that the batch desc
could complete before the individual elements and a lack of clarity
as to whether this was due to the simulator or the fact that
we poll on completions and could therefore "see" completions in
a different order at that time (we were using bit arrays to poll).

Now we use an ordered (in time) list to poll locations so if we
instead put the elements on the list first and then the batch desc
itself we are assured to always "see" them in order provided the
underlying device meets spec which there's no reason to assume it
does not.

This simplifies things a bit at the same time and still assures
that we call list calbacks in order and then the batch callback
without "special" handling.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I4d9e3997786f2116ce6515682b8117799c645f51
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8397
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2021-07-15 21:04:08 +00:00
..
idxd_kernel.c lib/idxd: rotate portal offset with each submission 2021-07-15 21:04:08 +00:00
idxd_spec.h lib/idxd: rotate portal offset with each submission 2021-07-15 21:04:08 +00:00
idxd_user.c lib/idxd: rotate portal offset with each submission 2021-07-15 21:04:08 +00:00
idxd.c lib/idxd: change how we complete batch desc 2021-07-15 21:04:08 +00:00
idxd.h lib/idxd: change how we complete batch desc 2021-07-15 21:04:08 +00:00
Makefile idxd: Add the kernel idxd support 2021-07-13 17:22:30 +00:00
spdk_idxd.map idxd: refactor flow control for idxd engine 2021-06-29 00:46:25 +00:00