numam-spdk/mk
paul luse 17bb748a60 accel: Move non-engine specific batch to the accel_fw layer
The new design:

* Supports a generic batching capability in the accel_fw layer
that keeps track of hw accelerated vs sw commands based on
the capabilities of the engine and processes sw commands in the
generic layer while sending a list of commands (not a batch)
to the engines for processing.

* Batch completions are managed via the generic layer, when using
the accel_fw the engines only process commands. With DSA however,
if a list of commands is sent down it will use the DSA public
API to create and send batches but will rely on the generic layer
to complete the batch task itself. When using DSA directly, batching
works as usual (DSA handles batch completion).

* The engine function tables were greatly simplified by replacing
all of the individual entries (copy, fill, crc32c, etc) with one
`submit_tasks` function that is used to both send lists of tasks
for batches or just one task for single shot API.

* Internally batching is now used to re-submit tasks that were queued
for flow control reasons.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I99c28751df32017c43490a90f4904bdabe79a270
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3555
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>
Community-CI: Mellanox Build Bot
2020-10-22 22:43:28 +00:00
..
nvme.libtest.mk sock/vpp: remove VPP implementation 2020-08-17 08:19:46 +00:00
spdk_blank.map mk: add a placeholder map file. 2020-05-14 10:37:14 +00:00
spdk.app_cxx.mk build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
spdk.app_vars.mk mk: force --no-as-needed for spdk libs. 2019-08-12 21:12:16 +00:00
spdk.app.mk build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
spdk.common.mk build: add add_no_as_needed and add_whole_archive macros 2020-10-05 08:29:08 +00:00
spdk.deps.mk build: add copyright header where missing 2016-11-22 16:41:47 -07:00
spdk.fio.mk build: Place fio plugins into build/fio 2020-06-15 15:27:16 +00:00
spdk.lib_deps.mk accel: Move non-engine specific batch to the accel_fw layer 2020-10-22 22:43:28 +00:00
spdk.lib.mk build: only link rt where needed 2020-09-29 09:36:25 +00:00
spdk.mock.unittest.mk test: Add mocks for sendmsg and recvmsg 2019-11-01 17:56:16 +00:00
spdk.modules.mk mk: link blobfs_bdev library into applications 2020-10-12 08:26:14 +00:00
spdk.nvmecli.mk vhost: deprecate internal vhost library support 2020-10-20 02:42:16 +00:00
spdk.subdirs.mk Makefile: Add possibility to uninstall spdk. 2019-05-16 20:56:18 +00:00
spdk.unittest.mk make/unittest: don't link against shared env lib. 2020-04-22 09:21:55 +00:00