Spdk/include/spdk_internal
paul luse d58a2f6cc5 lib/accel: support multiple accel modules (aka engines) at once
We enable multiple engines by:

* getting rid of the globals that point to the one available HW
and one available SW engine

* adding a submit_tasks() entry point for the SW engine so that
it is treated like any other engine allowing us to just call
submit_tasks() to the assigned engine for the opcode instead of
checking what is supported

* changing the definition of engine capabilities from
"HW accelerated" to simply "supported"

* during init, use a global (g_engines_opc) that contains engines
and is indexed by opcode so we know what the best engine is for each
op code

* future patches will add RPC's to override engine priorities or
specifically assign an opcode(s) to an engine.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I9b9f3d5a2e499124aa7ccf71f0da83c8ee3dd9f9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11870
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-05-05 07:11:32 +00:00
..
accel_engine.h lib/accel: support multiple accel modules (aka engines) at once 2022-05-05 07:11:32 +00:00
assert.h include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
event.h event: Add a user option to change the size of spdk_msg_mempool 2022-03-09 08:00:28 +00:00
idxd.h idxd: Eliminate configs 2022-03-21 11:05:28 +00:00
init.h init: Declare a formal public API 2021-05-26 09:13:34 +00:00
lvolstore.h lvol: Don't include bdev_module.h in the public header 2021-05-04 21:07:42 +00:00
mock.h spelling: include 2021-12-01 09:15:13 +00:00
nvme_tcp.h nvme/tcp: mark variable as potentially unused 2021-11-09 05:05:29 +00:00
rdma.h nvmf/rdma: Move definitions of rxe vendor IDs to common rdma.h 2021-12-23 08:44:40 +00:00
sgl.h sgl.h: Add a new internal header file. 2021-06-02 11:34:27 +00:00
sock.h sock: introduce dynamic zerocopy according to data size 2022-04-28 07:29:28 +00:00
thread.h thread: add spdk_poller_get_id 2021-11-16 09:06:10 +00:00
trace_defs.h nvmf/tcp: add register owner for nvmf-tcp trace 2022-03-24 09:57:23 +00:00
uring.h bdev/uring: Do not use IORING_SETUP_IOPOLL. 2020-08-04 18:27:56 +00:00
usdt.h usdt: don't emit probes in unit tests 2021-07-09 07:02:28 +00:00
utf.h utf.h: remove #include "spdk/json.h" 2018-01-31 14:37:16 -05:00
vhost_user.h vhost_user: add VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD definition 2020-01-13 12:43:16 +00:00
virtio.h virtio_blk: add hotplug support 2021-04-16 19:21:13 +00:00