Spdk/module/bdev/malloc
Konrad Sztyber 2bb8a83e0a bdev/malloc: complete requests through poller
Requests that are completed immediately (i.e. those not using the accel
engine) are now queued and their completion is delayed to the completion
poller.  It ensures that they're not completed from the context of a
submission, which gets rid of an spdk_thread_send_msg() call.

It significantly improves performance on some workloads.  For instance,
4k zcopy reads (queue depth 128) on an malloc bdev exposed through
NVMe/TCP went from 204k IOPS to 485k IOPS.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I196f55fc07d167f1ed117d2430e9c37f9d05f70d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10805
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-01-12 08:20:11 +00:00
..
bdev_malloc_rpc.c bdev/malloc: Add optimal IO boundary 2021-11-18 08:21:43 +00:00
bdev_malloc.c bdev/malloc: complete requests through poller 2022-01-12 08:20:11 +00:00
bdev_malloc.h bdev/malloc: Add optimal IO boundary 2021-11-18 08:21:43 +00:00
Makefile so_ver: increase all major versions 2021-02-05 14:43:47 +00:00