• Christoph Hellwig's avatar
    nvmet: add plugging for read/write when ns is bdev · 9dea0c81
    Christoph Hellwig authored
    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: default avatarSagi Grimberg <sagi@grimberg.me>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    9dea0c81
io-cmd-bdev.c 8.94 KB