Spdk/module
paul luse 33eac886b9 lib/idxd: refactor batching for increased performance
And to eliminate an artificial constraint on # of user descriptors.
The main idea here was to move from a single ring that covered all
user descriptors to a pre-allocated ring per pre-allocated batch.

In addition, the other major change here is in how we poll for
completions.  We used to poll the batch rings then the main ring.
Now when commands are prepared their completion address is added to
a per channel list and the poller simply runs through that list
not caring which ring the completion address belongs too. This
simplifies the completion logic considerably and will avoid
polling locations that can't potentially have a completion.

Some minor rework was included as well, mainly getting rid of the
ring_ctrl struct as it didn't serve much of a purpose anyway and
with how things are setup now its easier to read with all the
elements in the channel struct.

Also, a change that came in while this was WIP needed a few fixes
to function correctly.  Addressed those and moved them to a
helper function so we have one point of control for xlations.

Added support for NOP in cases where a batch is submitted with
only 1 descriptor.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: Ie201b28118823100e908e0d1b08e7c10bb8fa9e7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3654
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2020-10-22 22:43:28 +00:00
..
accel lib/idxd: refactor batching for increased performance 2020-10-22 22:43:28 +00:00
bdev bdev_module: remove config_text 2020-10-21 02:25:45 +00:00
blob blob/bdev: Add function pointer get_base_bdev to struct spdk_bs_dev 2020-10-20 08:52:29 +00:00
blobfs blobfs_bdev: Use spdk_bdev_create_bs_dev_ext() instead of spdk_bdev_create_bs_dev_from_desc() 2020-10-20 08:52:29 +00:00
env_dpdk log: remove internal log.h header 2020-10-15 08:23:39 +00:00
event event: remove subsystem legacy config print 2020-10-21 02:25:45 +00:00
sock lib/sock: zero out sock_impl opts 2020-10-16 08:15:10 +00:00
Makefile global: rename copy to accel 2020-02-18 08:05:34 +00:00