[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210520141305.355961-1-stefanha@redhat.com>
Date: Thu, 20 May 2021 15:13:02 +0100
From: Stefan Hajnoczi <stefanha@...hat.com>
To: virtualization@...ts.linux-foundation.org
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
Christoph Hellwig <hch@....de>,
Jason Wang <jasowang@...hat.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Jens Axboe <axboe@...nel.dk>, slp@...hat.com,
sgarzare@...hat.com, "Michael S. Tsirkin" <mst@...hat.com>,
Stefan Hajnoczi <stefanha@...hat.com>
Subject: [PATCH 0/3] virtio_blk: blk-mq io_poll support
This patch series implements blk_mq_ops->poll() so REQ_HIPRI requests can be
polled. IOPS for 4k and 16k block sizes increases by 5-18% on a virtio-blk
device with 4 virtqueues backed by an NVMe drive.
- Benchmark: fio ioengine=pvsync2 numjobs=4 direct=1
- Guest: 4 vCPUs with one virtio-blk device (4 virtqueues)
- Disk: Intel Corporation NVMe Datacenter SSD [Optane] [8086:2701]
- CPU: Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz
rw bs hipri=0 hipri=1
------------------------------
randread 4k 149,426 170,763 +14%
randread 16k 118,939 134,269 +12%
randread 64k 34,886 34,906 0%
randread 128k 17,655 17,667 0%
randwrite 4k 138,578 163,600 +18%
randwrite 16k 102,089 120,950 +18%
randwrite 64k 32,364 32,561 0%
randwrite 128k 16,154 16,237 0%
read 4k 146,032 170,620 +16%
read 16k 117,097 130,437 +11%
read 64k 34,834 35,037 0%
read 128k 17,680 17,658 0%
write 4k 134,562 151,422 +12%
write 16k 101,796 107,606 +5%
write 64k 32,364 32,594 0%
write 128k 16,259 16,265 0%
Larger block sizes do not benefit from polling as much but the
improvement is worthwhile for smaller block sizes.
Stefan Hajnoczi (3):
virtio: add virtioqueue_more_used()
virtio_blk: avoid repeating vblk->vqs[qid]
virtio_blk: implement blk_mq_ops->poll()
include/linux/virtio.h | 2 +
drivers/block/virtio_blk.c | 126 +++++++++++++++++++++++++++++------
drivers/virtio/virtio_ring.c | 17 +++++
3 files changed, 123 insertions(+), 22 deletions(-)
--
2.31.1
Powered by blists - more mailing lists