[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/3] virtio: disable notifications in blk and scsi
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH 0/3] virtio: disable notifications in blk and scsi |
Date: |
Wed, 16 Nov 2016 21:53:06 +0000 |
Disabling notifications during virtqueue processing reduces the number of
exits. The virtio-net device already uses virtio_queue_set_notifications() but
virtio-blk and virtio-scsi do not.
The following benchmark shows a 15% reduction in virtio-blk-pci MMIO exits:
(host)$ qemu-system-x86_64 \
-enable-kvm -m 1024 -cpu host \
-drive if=virtio,id=drive0,file=f24.img,format=raw,\
cache=none,aio=native
(guest)$ fio # jobs=4, iodepth=8, direct=1, randread
(host)$ sudo perf record -a -e kvm:kvm_fast_mmio
Number of kvm_fast_mmio events:
Unpatched: 685k
Patched: 592k (-15%, lower is better)
Note that a workload with iodepth=1 and a single thread will not benefit - this
is a batching optimization. The effect should be strongest with large iodepth
and multiple threads submitting I/O. The guest I/O scheduler also affects the
optimization.
Stefan Hajnoczi (3):
virtio: add missing vdev->broken check
virtio-blk: suppress virtqueue kick during processing
virtio-scsi: suppress virtqueue kick during processing
hw/block/virtio-blk.c | 18 ++++++++++++------
hw/scsi/virtio-scsi.c | 36 +++++++++++++++++++++---------------
hw/virtio/virtio.c | 4 ++++
3 files changed, 37 insertions(+), 21 deletions(-)
--
2.7.4
- [Qemu-devel] [PATCH 0/3] virtio: disable notifications in blk and scsi,
Stefan Hajnoczi <=
[Qemu-devel] [PATCH 3/3] virtio-scsi: suppress virtqueue kick during processing, Stefan Hajnoczi, 2016/11/16
Re: [Qemu-devel] [PATCH 0/3] virtio: disable notifications in blk and scsi, Michael S. Tsirkin, 2016/11/16