qemu-e2k/hw
Stefan Hajnoczi 9445e1e15e virtio-blk-pci: default num_queues to -smp N
Automatically size the number of virtio-blk-pci request virtqueues to
match the number of vCPUs.  Other transports continue to default to 1
request virtqueue.

A 1:1 virtqueue:vCPU mapping ensures that completion interrupts are
handled on the same vCPU that submitted the request.  No IPI is
necessary to complete an I/O request and performance is improved.  The
maximum number of MSI-X vectors and virtqueues limit are respected.

Performance improves from 78k to 104k IOPS on a 32 vCPU guest with 101
virtio-blk-pci devices (ioengine=libaio, iodepth=1, bs=4k, rw=randread
with NVMe storage).

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Message-Id: <20200818143348.310613-7-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-08-27 08:29:13 -04:00
..
9pfs 9pfs: Fix severe performance issue of Treaddir requests. 2020-08-24 16:39:53 +01:00
acpi Introduce a new flag for i440fx to disable PCI hotplug on the root bus 2020-08-27 08:29:08 -04:00
adc meson: convert hw/adc 2020-08-21 06:30:32 -04:00
alpha meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
arm arm/acpi: fix an out of spec _UID for PCI root 2020-08-27 08:27:48 -04:00
audio meson: convert hw/audio 2020-08-21 06:30:32 -04:00
avr meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
block virtio-blk-pci: default num_queues to -smp N 2020-08-27 08:29:13 -04:00
char meson: convert hw/char 2020-08-21 06:30:32 -04:00
core virtio-blk-pci: default num_queues to -smp N 2020-08-27 08:29:13 -04:00
cpu hw/cpu/a9mpcore: Verify the machine use Cortex-A9 cores 2020-08-24 10:01:40 +01:00
cris meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
display artist out of bounds fixes 2020-08-26 22:23:53 +01:00
dma meson: convert hw/dma 2020-08-21 06:30:31 -04:00
gpio meson: convert hw/gpio 2020-08-21 06:30:31 -04:00
hppa artist out of bounds fixes 2020-08-26 22:23:53 +01:00
hyperv meson: convert hw/hyperv 2020-08-21 06:30:31 -04:00
i2c meson: convert hw/i2c 2020-08-21 06:30:30 -04:00
i386 i386/acpi: fix inconsistent QEMU/OVMF device paths 2020-08-27 08:27:48 -04:00
ide meson: convert hw/ide 2020-08-21 06:30:30 -04:00
input meson: convert hw/input 2020-08-21 06:30:30 -04:00
intc ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
ipack meson: convert hw/ipack 2020-08-21 06:30:30 -04:00
ipmi meson: convert hw/ipmi 2020-08-21 06:30:29 -04:00
isa meson: convert hw/isa 2020-08-21 06:30:29 -04:00
lm32 hw/sd/milkymist: Do not create SD card within the SD host controller 2020-08-21 16:22:43 +02:00
m68k meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
mem meson: convert hw/mem 2020-08-21 06:30:26 -04:00
microblaze meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
mips meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
misc meson: convert hw/misc 2020-08-21 06:30:29 -04:00
moxie meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
net meson: convert hw/net 2020-08-21 06:30:29 -04:00
nios2 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
nubus meson: convert hw/nubus 2020-08-21 06:30:25 -04:00
nvram ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
openrisc meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
pci meson: convert hw/pci 2020-08-21 06:30:28 -04:00
pci-bridge meson: convert hw/pci-bridge 2020-08-21 06:30:28 -04:00
pci-host meson: convert hw/pci-host 2020-08-21 06:30:28 -04:00
pcmcia meson: convert hw/pcmcia 2020-08-21 06:30:28 -04:00
ppc ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
rdma meson: convert hw/rdma 2020-08-21 06:30:29 -04:00
riscv hw/riscv: virt: Allow creating multiple NUMA sockets 2020-08-25 09:11:35 -07:00
rtc meson: convert hw/rtc 2020-08-21 06:30:27 -04:00
rx meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
s390x Machine queue 2020-08-19 2020-08-22 14:37:31 +01:00
scsi virtio-scsi-pci: default num_queues to -smp N 2020-08-27 08:29:13 -04:00
sd hw/sd: Correct the maximum size of a Standard Capacity SD Memory Card 2020-08-21 16:49:22 +02:00
semihosting meson: convert hw/semihosting 2020-08-21 06:30:25 -04:00
sh4 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
smbios meson: convert hw/smbios 2020-08-21 06:30:25 -04:00
sparc ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
sparc64 ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
ssi meson: convert hw/ssi 2020-08-21 06:30:27 -04:00
timer meson: convert hw/timer 2020-08-21 06:30:27 -04:00
tpm meson: convert hw/tpm 2020-08-21 06:30:27 -04:00
tricore meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
unicore32 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
usb meson: convert hw/usb 2020-08-21 06:30:26 -04:00
vfio meson: convert hw/vfio 2020-08-21 06:30:26 -04:00
virtio virtio-blk-pci: default num_queues to -smp N 2020-08-27 08:29:13 -04:00
watchdog meson: convert hw/watchdog 2020-08-21 06:30:26 -04:00
xen meson: convert hw/xen 2020-08-21 06:30:24 -04:00
xenpv meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
xtensa target/xtensa: implement NMI support 2020-08-21 12:48:14 -07:00
Kconfig hw/avr: Add limited support for some Arduino boards 2020-07-11 11:02:05 +02:00
meson.build meson: convert hw/arch* 2020-08-21 06:30:33 -04:00