On Tue, Mar 11, 2025 at 21:26:03 +0800, Stefan Hajnoczi wrote: > v4: > - Squash fixup commit properly this time >_< [Peter] > v3: > - Use vq_aio_context[VIRTIO_SCSI_VQ_NUM_FIXED] as the AioContext for the Block > Backend [Kevin] > v2: > - Only expose cmd vqs via iothread-vq-mapping [Kevin, Peter] > > 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. > > 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
I've modified my libvirt patches to take only the command queues into account same as with virtio-blk. After learning how 'fio' works I was able to set multiple iothreads on fire based on the mapping. Tested-by: Peter Krempa <pkre...@redhat.com>