Message ID | 20250213180043.713434-1-stefanha@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | virtio-scsi: add iothread-vq-mapping parameter | expand |
On Thu, Feb 13, 2025 at 13:00:31 -0500, Stefan Hajnoczi wrote: > Implement --device virtio-scsi-pci,iothread-vq-mapping= support so that > virtqueues can be assigned to different IOThreads. This improves SMP guest > scalability where I/O-intensive applications can become bottlenecked on a > single IOThread. Hi I was playing around with this along with the patches and I can see that multiple iothreads do get loaded when I configure the mapping. It was a bit tricky to spot it though among the 200-odd 'worker' threads qemu spawned :D (but spawns also without this feature being used). I didn't do any benchmarks ... > The following benchmark results show the effect of iothread-vq-mapping. fio > randread 4k iodepth=64 results from a 4 vCPU guest with an Intel P4800X SSD: > iothreads IOPS > ------------------------------ > 1 189576 > 2 312698 > 4 346744 ... so I'll trust you here, but at least configuration wise this seems to work. As discussed on the libvirt patchset it might be a good idea to docuement that the ctrl and event queues need to be mapped as well if you'll be dealing with docs. Tested-by: Peter Krempa <pkrempa@redhat.com>