Spdk/lib
Konrad Sztyber b2454dfbcc accel: introduce platform drivers
The goal of a platform driver is to execute chained accel operations in
the most efficient way possible.  A driver is aware of the hardware
available on a platform and can execute several operations as a single
one.  For instance, if we want to do DMA and then encrypt the data, the
driver can do both at the same time, if the hardware is capable of doing
that.

Platform drivers aren't required to support all operations.  If a given
operation cannot be executed, the driver should notify accel to continue
processing a sequence, via spdk_accel_sequence_continue(), and that
operation will processed by a module assigned to its opcode.

It is required however, that all platform drivers support memory
domains, including the "virtual" accel domain.  A method for allocating
those buffers will be added in the following patches.

This patch only adds methods to register and select platorm drivers, but
doesn't change the way a sequnce is executed (i.e. it doesn't use the
driver to execute it).

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I97a0b07e264601ab3cf980735319fe8cea54d38e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16375
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2023-02-13 13:52:06 +00:00
..
accel accel: introduce platform drivers 2023-02-13 13:52:06 +00:00
bdev bdev: remove bdev_register_examine_thread deprecation 2023-02-09 11:20:34 +00:00
blob so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
blobfs so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
conf so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
dma so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
env_dpdk env: expose function to get main core 2023-01-31 10:31:04 +00:00
env_ocf update Intel copyright notices 2022-11-10 08:28:53 +00:00
event so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ftl so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
idxd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
init so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ioat so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
iscsi iscsi: Use error_response() rather than bool_response(false) for JSON RPC 2023-01-31 21:40:09 +00:00
json so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
jsonrpc so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
log so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
lvol so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
mlx5 so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nbd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
notify so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nvme nvme/tcp: fail qpair when spdk_sock_flush() fails 2023-02-13 13:50:15 +00:00
nvmf lib/nvmf: sanity check req->iovcnt 2023-02-13 13:50:51 +00:00
rdma so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
reduce deprecation: Remove support for PMDK 2023-01-26 15:16:19 +00:00
rocksdb rocksdb: remove spdk_thread 2022-11-23 08:22:04 +00:00
rpc so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
scsi so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
sock sock: Allow flushing even if the socket is in a poll group 2023-01-24 18:18:33 +00:00
thread so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
trace so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
trace_parser so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ublk ublk: update func ublk_try_close_dev 2023-02-08 15:26:00 +00:00
ut_mock so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
util util: get SPDK_HAVE_* values for crc32.c 2023-02-06 08:34:08 +00:00
vfio_user so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vfu_tgt so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vhost so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
virtio lib/virtio_vfio_user: use VIRTIO_PCI_VRING_ALIGN aligned vring address 2023-02-09 11:31:39 +00:00
vmd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
Makefile ublk: add configure and event/subsystem 2023-01-20 07:48:25 +00:00