All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] virtio-blk: use blk_io_plug_call() instead of notification BH
@ 2023-08-15 12:08 Stefan Hajnoczi
  2023-08-15 12:08 ` [PATCH 1/2] virtio: use blk_io_plug_call() in virtio_irqfd_notify() Stefan Hajnoczi
  2023-08-15 12:08 ` [PATCH 2/2] virtio-blk: remove batch notification BH Stefan Hajnoczi
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Hajnoczi @ 2023-08-15 12:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Hanna Reitz, qemu-block, Julia Suvorova, Aarushi Mehta,
	Stefano Garzarella, Kevin Wolf, Michael S. Tsirkin,
	Stefan Hajnoczi

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



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-08-16 21:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-15 12:08 [PATCH 0/2] virtio-blk: use blk_io_plug_call() instead of notification BH Stefan Hajnoczi
2023-08-15 12:08 ` [PATCH 1/2] virtio: use blk_io_plug_call() in virtio_irqfd_notify() Stefan Hajnoczi
2023-08-16 13:36   ` Ilya Maximets
2023-08-16 15:30     ` Stefan Hajnoczi
2023-08-16 18:30       ` Ilya Maximets
2023-08-16 21:16         ` Stefan Hajnoczi
2023-08-15 12:08 ` [PATCH 2/2] virtio-blk: remove batch notification BH Stefan Hajnoczi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.