Spdk/lib
paul luse 5b03dd938c module/idxd: accel framework plug-in for idxd
Docs, RPC, unit tests, etc., will follow.  Notes:

* The current implementation will only work with VFIO.

* The current implementation supports only the existing accel
framework API. The API will be expanded for DSA exclusive features
in a subsequent patch.

* SW is required to manage flow control, to not over-run the work queues.
This is provided in the accel plug-in module. The upper layers use public
API to manage this.

* As we need to support any number of channels (we can't limit ourselves
to the number of work queues) we need to dynamically size/resize our
per channel descriptor rings based on the number of current channels. This
is done from upper layers via public API into the lib.

* As channels are created, the total number of work queue slots is divided
across the channels evenly.  Same thing when they are destroyed, remaining
channels will see the ring sizes increase. This is done from upper layers
via public API into the lib.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: Ifaa39935107206a2d990cec992854675e5502057
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1722
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-04-23 15:48:32 +00:00
..
accel module/idxd: accel framework plug-in for idxd 2020-04-23 15:48:32 +00:00
bdev lib/bdev: add a map file. 2020-04-15 22:10:08 +00:00
blob blob: inline _spdk_blob_calculate_lba_and_lba_count() 2020-04-22 09:18:41 +00:00
blobfs lib/blobfs: remove spdk prefix from private APIs 2020-04-22 09:21:55 +00:00
conf lib/conf: add a map file for this library. 2020-04-22 09:21:55 +00:00
env_dpdk module/idxd: accel framework plug-in for idxd 2020-04-23 15:48:32 +00:00
env_ocf ocf: update ocf submodule to v20.3 2020-04-17 07:32:48 +00:00
event lib/event: add subsystem iterator functions. 2020-04-22 09:21:55 +00:00
ftl lib/ftl: Add a map file. 2020-04-22 09:21:55 +00:00
idxd module/idxd: accel framework plug-in for idxd 2020-04-23 15:48:32 +00:00
ioat memory.h: move to public headers 2020-03-19 08:50:45 +00:00
iscsi lib/iscsi: Fix the bug of "lib/iscsi: Fix conn->state not go back to EXITING by using spdk_thread_send_msg" 2020-04-23 13:48:41 +00:00
json make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
jsonrpc make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
log log: spdk_log_dump more characters than required 2020-04-14 11:34:45 +00:00
log_rpc make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
lvol lvol: do not refer to blob when create returned error 2020-04-02 07:03:35 +00:00
nbd lib/thread: Use function name as poller name by using macro SPDK_POLLER_REGISTER 2020-04-15 07:23:09 +00:00
net make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
notify make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
nvme lib/nvme: switch poll group to use connect/disconnect semantics. 2020-04-22 19:06:26 +00:00
nvmf lib/nvmf: fix unreachable code. 2020-04-22 09:21:04 +00:00
reduce make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
rocksdb global: rename copy to accel 2020-02-18 08:05:34 +00:00
rpc make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
rte_vhost make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
scsi lib/scsi: Remove spdk prefix from private functions 2020-04-16 08:09:14 +00:00
sock lib/sock: remove spdk_sock_set_priority 2020-04-22 09:19:01 +00:00
thread lib/thread: Add busy count for poller to increment only when some work was done 2020-04-09 13:44:14 +00:00
trace make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
ut_mock make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
util pipe: Simplify the pipe code 2020-03-31 07:59:26 +00:00
vhost vhost: inline vhost_vring_desc_is_wr() 2020-04-23 07:28:24 +00:00
virtio memory.h: move to public headers 2020-03-19 08:50:45 +00:00
vmd make: rev SO versions individually for libraries. 2020-03-18 08:02:30 +00:00
Makefile lib/idxd: add low level idxd library 2020-04-23 15:48:32 +00:00