Spdk/lib/bdev/null
Jim Harris 45697d33ff bdev/null: complete requests asynchronously
To better match bdev modules like nvme, complete requests
for the bdev/null driver asynchronously.  This will be
done by allocating IO channels that register a poller
and keep a TAILQ of bdev IO to be completed next time
the poller runs.

This is actually more efficient as well, since completing
I/O in submit_request context defers the completion using
an event.  A benchmark of bdevperf with split running on
top of null module shows this patch increases throughput
20%.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I8c664234660c249fd8ec8d9244eed33502d4103e

Reviewed-on: https://review.gerrithub.io/392528
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-12-21 10:42:47 -05:00
..
bdev_null_rpc.c log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
bdev_null.c bdev/null: complete requests asynchronously 2017-12-21 10:42:47 -05:00
bdev_null.h bdev: rename blockdev instances to bdev 2017-07-14 13:31:30 -04:00
Makefile bdev: rename blockdev instances to bdev 2017-07-14 13:31:30 -04:00