linux_dsm_epyc7002/drivers/nvme/target
Christoph Hellwig 9dea0c81ee nvmet: add plugging for read/write when ns is bdev
With reference to the following issue reported on the mailing list :-
http://lists.infradead.org/pipermail/linux-nvme/2019-October/027604.html
this patch adds plugging for the bdev-ns under nvmet_bdev_execute_rw().

We can see the following performance improvement in random write
workload I/Os with the setup described in the link when device_path
configured as /dev/md0.

Without this patch :-

  write: IOPS=40.8k, BW=159MiB/s (167MB/s)(4777MiB/30002msec)
  write: IOPS=41.2k, BW=161MiB/s (169MB/s)(4831MiB/30011msec)
    slat (usec): min=8,  max=10823, avg=15.64,  stdev=16.85
    slat (usec): min=8,  max=401,   avg=15.40,  stdev= 9.56
    clat (usec): min=54, max=2492,  avg=759.07, stdev=172.62
    clat (usec): min=56, max=1997,  avg=768.06, stdev=178.72

With this patch :-

  write: IOPS=123k, BW=480MiB/s (504MB/s)(14.1GiB/30011msec)
  write: IOPS=123k, BW=481MiB/s (504MB/s)(14.1GiB/30002msec)
    slat (usec): min=8,  max=9941,  avg=13.31,  stdev= 8.04
    slat (usec): min=8,  max=289,   avg=13.31,  stdev= 3.37
    clat (usec): min=43, max=17635, avg=245.46, stdev=171.23
    clat (usec): min=44, max=17751, avg=245.25, stdev=183.14

Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-11-04 10:56:42 -07:00
..
admin-cmd.c nvmet: clean up command parsing a bit 2019-11-04 10:56:42 -07:00
configfs.c nvmet: Fix use-after-free bug when a port is removed 2019-07-31 17:57:06 -07:00
core.c nvmet: clean up command parsing a bit 2019-11-04 10:56:42 -07:00
discovery.c nvmet: fill discovery controller sn, fr and mn correctly 2019-11-04 10:56:42 -07:00
fabrics-cmd.c nvmet: Remove the data_len field from the nvmet_req struct 2019-11-04 10:56:42 -07:00
fc.c nvmet: Open code nvmet_req_execute() 2019-11-04 10:56:42 -07:00
fcloop.c nvme-fcloop: resolve warnings on RCU usage and sleep warnings 2019-07-09 13:16:09 -07:00
io-cmd-bdev.c nvmet: add plugging for read/write when ns is bdev 2019-11-04 10:56:42 -07:00
io-cmd-file.c nvmet: Remove the data_len field from the nvmet_req struct 2019-11-04 10:56:42 -07:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
loop.c nvmet: Open code nvmet_req_execute() 2019-11-04 10:56:42 -07:00
Makefile nvmet: introduce target-side trace 2019-06-21 11:15:46 +02:00
nvmet.h nvmet: Open code nvmet_req_execute() 2019-11-04 10:56:42 -07:00
rdma.c nvmet: Open code nvmet_req_execute() 2019-11-04 10:56:42 -07:00
tcp.c nvmet: Open code nvmet_req_execute() 2019-11-04 10:56:42 -07:00
trace.c nvmet: trace: parse Get LBA Status command in detail 2019-08-29 12:55:01 -07:00
trace.h nvmet: introduce target-side trace 2019-06-21 11:15:46 +02:00