Modules can now report that they support accel chaining for specific operations through the accel_sequnce_supported() callback. The support is reported per IO type. This allows modules to support accel sequences for some operations, while relying on the bdev layer to handle them for other IO types. Only bdevs without separate metadata buffers are allowed to support this new mode. That's because metadata in separate buffer is expected to use the same memory domain as data buffers. With an accel sequence, those data memory domains can change, while metadata's memory domain always stays the same. To support bdevs with separate metadata buffers, we'd need to add separate pointers for metadata's memory domain. For now, simply disallow registering bdevs with separate metadata supporting accel sequences. Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I0c49cc00096837d70681a69b2633c2cb3dfd4e39 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16971 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
bdev_internal.h | ||
bdev_rpc.c | ||
bdev_zone.c | ||
bdev.c | ||
Makefile | ||
part.c | ||
scsi_nvme.c | ||
spdk_bdev.map | ||
vtune.c |