numam-spdk/doc
paul luse fc250841ca idxd: add batch capability to accel framework and IDXD back-end
This patch only includes the basic framework for batching and the
ability to batch one type of command, copy. Follow-on patches will
add the ability to batch other commands and include an example of
how to do so via the accel perf tool.  SW engine support for batching
will also come in a future patch. Documentation will also be coming.

Batching allows the application to submit a list of independent
descriptors to DSA with one single "batch" descriptor. This is beneficial
when the application is in a position to have several operations ready
at once; batching saves the overhead of submitting each one separately.

The way batching works in SPDK is as follows:

1) The app gets a handle to a new batch with spdk_accel_batch_create()
2) The app uses that handle to prepare a command to be included in the
batch. For copy the command is spdk_accel_batch_prep_copy(). The
app many continue to prep commands for the batch up to the max via
calling spdk_accel_batch_get_max()
3) The app then submits the batch with spdk_accel_batch_submit()
4) The callback provided for each command in the batch will be called as
they complete, the callback provided to the batch submit itself will be
called then the entire batch is done.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I4102e9291fe59a245cedde6888f42a923b6dbafd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2248
Community-CI: Mellanox Build Bot
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>
2020-07-10 07:31:09 +00:00
..
img doc/nvme: nvme character device documentation 2019-10-31 14:04:38 +00:00
.gitignore doc: add output directory to .gitignore 2018-06-19 07:15:50 +00:00
about.md Fix Markdown MD026 linter warnings - trailing punctuation in header 2020-02-17 10:07:21 +00:00
applications.md Fix Markdown MD012 linter warnings - multiple blank lines 2020-02-17 10:07:21 +00:00
bdev_module.md doc: fix location of SPDK_BDEV_MODULE_REGISTER macro 2019-05-14 22:28:30 +00:00
bdev_pg.md bdev: Add spdk_bdev_open_ext function 2019-08-26 19:07:56 +00:00
bdev.md doc: using 4096 block size when bdev_aio_create 2020-05-19 09:44:13 +00:00
blob.md Fix Markdown MD026 linter warnings - trailing punctuation in header 2020-02-17 10:07:21 +00:00
blobfs.md doc/blobfs: Update rocksdb version 2019-07-08 08:42:46 +00:00
compression.md doc/compression: fix diagrams 2019-06-06 05:35:25 +00:00
concepts.md doc: Add concept page on submitting I/O to an NVMe device 2019-05-09 04:33:19 +00:00
concurrency.md doc: Update docs about new thread model 2020-06-22 10:13:56 +00:00
containers.md docs/containers: point to actual release 2020-05-14 10:57:07 +00:00
Doxyfile doc: add library documentation. 2020-06-08 09:33:58 +00:00
driver_modules.md doc: add IDXD docs and changelog entry 2020-04-23 15:48:32 +00:00
event.md lib: Return instead of exit in event 2018-03-08 11:47:01 -05:00
footer.html doc: simplify HTML header and stylesheet 2017-04-28 13:13:48 -07:00
ftl.md build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
gdb_macros.md Fix Markdown MD026 linter warnings - trailing punctuation in header 2020-02-17 10:07:21 +00:00
general.md doc: Rename directory_structure.md to overview.md 2019-05-09 04:33:19 +00:00
getting_started.md build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
header.html doc: Remove mobile responsiveness 2018-12-10 15:56:50 +00:00
idxd.md idxd: add batch capability to accel framework and IDXD back-end 2020-07-10 07:31:09 +00:00
index.md Fix Markdown MD022 linter warnings - headers blank lines 2020-02-17 10:07:21 +00:00
intro.md doc: use Doxygen subpages for top-level groupings 2018-06-14 16:45:51 +00:00
ioat.md doc: flatten Markdown docs into chapter-per-file 2017-04-30 07:58:26 -07:00
iscsi.md build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
jsonrpc_proxy.md RPC: rename rpc get_bdevs to bdev_get_bdevs 2019-09-13 22:39:15 +00:00
jsonrpc.md lib/nvmf: add an acceptor_backlog transport opt. 2020-07-08 07:57:04 +00:00
libraries.md doc: add library documentation. 2020-06-08 09:33:58 +00:00
lvol.md RPC: rename rpc get_bdevs to bdev_get_bdevs 2019-09-13 22:39:15 +00:00
Makefile doc/Makefile: include mk/spdk.common.mk 2018-06-19 17:29:06 +00:00
memory.md doc: Improve title of memory management concept page 2019-05-08 12:26:29 +00:00
misc.md docs: add section for containers 2020-01-24 20:16:58 +00:00
notify.md Fix Markdown MD022 linter warnings - headers blank lines 2020-02-17 10:07:21 +00:00
nvme_spec.md doc: Add concept page on submitting I/O to an NVMe device 2019-05-09 04:33:19 +00:00
nvme-cli.md doc: Fix Markdown MD032 linter warnings 2020-02-06 09:46:06 +00:00
nvme.md doc/nvme: remove dynamic creation/deletion of namespaces limitation 2020-06-05 09:01:44 +00:00
nvmf_tgt_pg.md doc: Really minor updates to NVMe-oF programmers guide 2018-09-25 17:19:39 +00:00
nvmf_tracing.md build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
nvmf.md build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
overview.md doc: Finish overview page 2019-05-09 04:33:19 +00:00
peer_2_peer.md build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
performance_reports.md doc: add 20.04 nvme-of rdma performance report link 2020-07-01 07:51:09 +00:00
porting.md doc: move porting guide into doc/ and add to index 2017-01-17 16:25:04 -07:00
prog_guides.md doc/notify: add missing links about notify 2019-05-07 06:11:45 +00:00
README.md doc: Fix the verbage concerning prereqs 2018-02-14 17:38:48 -05:00
spdkcli.md build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
ssd_internals.md doc: Rename directory_structure.md to overview.md 2019-05-09 04:33:19 +00:00
stylesheet.css doc: Remove mobile responsiveness 2018-12-10 15:56:50 +00:00
system_configuration.md doc: update system_config to include igb_uio. 2020-02-13 09:51:54 +00:00
template_pg.md doc: fix typos in the doc directory 2018-08-27 19:38:10 +00:00
tools.md doc: move SPDKCLI to tools section 2019-06-17 10:10:59 +00:00
two.min.js doc: Add license header to two.js source 2018-08-06 16:27:58 +00:00
user_guides.md doc: add library documentation. 2020-06-08 09:33:58 +00:00
userspace.md doc: Fix link titles in userspace.md 2018-08-08 15:50:46 +00:00
vagrant.md build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
vhost_processing.md doc: Fix Markdown MD032 linter warnings 2020-02-06 09:46:06 +00:00
vhost.md build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
virtio.md doc: Fix Markdown MD032 linter warnings 2020-02-06 09:46:06 +00:00
vmd.md build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
vpp_integration.md Fix Markdown MD026 linter warnings - trailing punctuation in header 2020-02-17 10:07:21 +00:00

SPDK Documentation

The current version of the SPDK documentation can be found online at http://www.spdk.io/doc/

Building the Documentation

To convert the documentation into HTML run make in the doc directory. The output will be located in doc/output/html. Before running make ensure all pre-requisites are installed. See Installing Prerequisites for more details.