17bb748a60
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 |
||
---|---|---|
.. | ||
nvme.libtest.mk | ||
spdk_blank.map | ||
spdk.app_cxx.mk | ||
spdk.app_vars.mk | ||
spdk.app.mk | ||
spdk.common.mk | ||
spdk.deps.mk | ||
spdk.fio.mk | ||
spdk.lib_deps.mk | ||
spdk.lib.mk | ||
spdk.mock.unittest.mk | ||
spdk.modules.mk | ||
spdk.nvmecli.mk | ||
spdk.subdirs.mk | ||
spdk.unittest.mk |