Replace the seldom-used virtio-blk notification BH mechanism with blk_io_plug(). This is part of an effort to enable the multi-queue block layer in virtio-blk. The notification BH was not multi-queue friendly.
The blk_io_plug() mechanism improves fio rw=randread bs=4k iodepth=64 numjobs=8 IOPS by ~9% with a single IOThread and 8 vCPUs (this is not even a multi-queue block layer configuration) compared to no completion batching. iodepth=1 decreases by ~1% but this could be noise. Benchmark details are available here: https://gitlab.com/stefanha/virt-playbooks/-/tree/blk_io_plug-irqfd Stefan Hajnoczi (2): virtio: use blk_io_plug_call() in virtio_irqfd_notify() virtio-blk: remove batch notification BH block/io_uring.c | 6 +++++ block/linux-aio.c | 4 +++ hw/block/dataplane/virtio-blk.c | 48 +-------------------------------- hw/virtio/virtio.c | 10 ++++++- 4 files changed, 20 insertions(+), 48 deletions(-) -- 2.41.0