[PATCH 0/1] improve brd performance with blk-mq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jens,
 brd is one of the few block drivers that still uses submit_bio instead
 of blk-mq framework. The following patch converts brd to start using
 blk-mq framework. Performance gains are pretty evident for read workloads.
 The performance numbers are also attached as a part of
 the commit log.

 Performance (WD=[read|randread|write|randwrite]):
 $ modprobe brd rd_size=1048576 rd_nr=1
 $ echo "none" > /sys/block/ram0/queue/scheduler
 $ fio --name=<WD>  --ioengine=io_uring --iodepth=64 --rw=<WD> --size=1G \
   --io_size=20G --loop=4 --cpus_allowed=1 --filename=/dev/ram0 --iodepth=64
   --direct=[0/1]

  --direct=0
  ------------------------------------------------------
  |            | bio(base) | blk-mq            | delta |
  ------------------------------------------------------
  | randread   | 133       | 223               | +75%  |
  ------------------------------------------------------
  | read       | 150       | 313               | +108% |
  -----------------------------------------------------
  | randwrite  | 111       | 109               | -1.8% |
  -----------------------------------------------------
  | write      | 118       | 117               | -0.8%|
  -----------------------------------------------------
  
  --direct=1
  ------------------------------------------------------
  |            | bio(base) | blk-mq            | delta |
  ------------------------------------------------------
  | randread   | 182       | 414               | +127% |
  ------------------------------------------------------
  | read       | 190       | 429               | +125% |
  -----------------------------------------------------
  | randwrite  | 378       | 387               | +2.38%|
  -----------------------------------------------------
  | write      | 443       | 420               | -5.1% |
  -----------------------------------------------------

 I also added some simple blktests for the brd device to test the changes,
 and it can be found here:
 https://github.com/Panky-codes/blktests/tree/brd

 I will send the blktests patches once this gets merged.

Pankaj Raghav (1):
  brd: improve performance with blk-mq

 drivers/block/brd.c | 64 +++++++++++++++++++++++++++++++++------------
 1 file changed, 47 insertions(+), 17 deletions(-)

-- 
2.39.0




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux