doc: add IDXD docs and changelog entry

The IOAT docs are pretty limited so what's here just mirrors those.
More documentation on the library as well as the module will be
provided as an ongoing activity.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I28b13733f034fe117a4ea21983ce0418a427dd51
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1925
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
paul luse 2020-04-17 16:13:05 +00:00 committed by Ben Walker
parent 58bd4948f0
commit d8db56228f
5 changed files with 41 additions and 0 deletions

View File

@ -8,6 +8,23 @@ Legacy INI style configuration for SPDK applications has been deprecated and wil
removed in future release. removed in future release.
Please switch to JSON-RPC configuration files and/or RPC driven run-time configuration. Please switch to JSON-RPC configuration files and/or RPC driven run-time configuration.
### idxd
IDXD support was added in the form of a low level library that can directly
utilize the IDXD offload engine as well as an accel plug-in module allowing for use
with the generic accel framework API. IDXD is the first in a family of offload
engines that share the same interface, specifically DSA is added here. More info
can be found here: https://01.org/blogs/2019/introducing-intel-data-streaming-accelerator
Much of the implementation models IOAT, however their low level interfaces are very
different. The RPC to enable IDXD requires a configuration number as well. The
code includes 2 pre-defined configurations of IDXD groups/work queues/engines. A future
version will provide an interface to allow for setting of individual configuration
parameters.
IDXD is not yet available so this feature should be considered experimental. It will
be built up with additional documentation as an ongoing activity.
### ocf ### ocf
Update OCF submodule to OCF v20.03 Update OCF submodule to OCF v20.03

View File

@ -814,6 +814,7 @@ INPUT += \
ftl.md \ ftl.md \
gdb_macros.md \ gdb_macros.md \
getting_started.md \ getting_started.md \
idxd.md \
ioat.md \ ioat.md \
iscsi.md \ iscsi.md \
jsonrpc.md \ jsonrpc.md \

View File

@ -2,5 +2,6 @@
- @subpage nvme - @subpage nvme
- @subpage ioat - @subpage ioat
- @subpage idxd
- @subpage virtio - @subpage virtio
- @subpage vmd - @subpage vmd

21
doc/idxd.md Normal file
View File

@ -0,0 +1,21 @@
# IDXD Driver {#idxd}
# Public Interface {#idxd_interface}
- spdk/idxd.h
# Key Functions {#idxd_key_functions}
Function | Description
--------------------------------------- | -----------
spdk_idxd_probe() | @copybrief spdk_idxd_probe()
spdk_idxd_submit_copy() | @copybrief spdk_idxd_submit_copy()
spdk_idxd_submit_fill() | @copybrief spdk_idxd_submit_fill()
# Pre-defined configurations {#idxd_configs}
The RPC `idxd_scan_accel_engine` is used to both enable IDXD and set it's
configuration to one of two pre-defined configs:
Config #0: 4 groups, 1 work queue per group, 1 engine per group.
Config #1: 2 groups, 2 work queues per group, 2 engines per group.

View File

@ -280,6 +280,7 @@ Example response:
"framework_monitor_context_switch", "framework_monitor_context_switch",
"spdk_kill_instance", "spdk_kill_instance",
"ioat_scan_accel_engine", "ioat_scan_accel_engine",
"idxd_scan_accel_engine",
"bdev_virtio_attach_controller", "bdev_virtio_attach_controller",
"bdev_virtio_scsi_get_devices", "bdev_virtio_scsi_get_devices",
"bdev_virtio_detach_controller", "bdev_virtio_detach_controller",