On Mon, Jul 13, 2015 at 01:24:15PM +0200, Paolo Bonzini wrote: > > > On 13/07/2015 13:21, Michael S. Tsirkin wrote: > > > Yes, this is already how virtio-scsi multiqueue is implemented. The > > > speedup is noticeable. However, for virtio-blk there is a huge > > > consumption of interrupt vectors in the guest, so it doesn't scale to > > > multiple disks as well as virtio-scsi. > > > > Could you elaborate please? interrupt vector usage is generally > > up to the guest, so whatever the issue is might be fixable by driver > > changes alone. > > Yes, but in practice neither Linux nor Windows (AFAIK) are able to share > the same vector across multiple MSIs. > > Paolo
AFAIK Linux can do this of you pass in IRQF_SHARED. We just never saw a need to do this before. Sharing between devices might also work, I think Amos Kong made it work under qemu, though this relied on reading ISR when in MSI mode, which is only allowed in virtio 1 mode. virtio spec also lets drivers control the mapping from VQs to MSI vectors. That's portable across OSes. That one is actually used, at least the Linux drivers support a mode where all VQs share a single vector. -- MST