Re: [PATCH] KVM: Allow host IRQ sharing for assigned PCI 2.3 devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 10, 2012 at 07:43:36PM +0100, Jan Kiszka wrote:
> On 2012-01-10 19:31, Michael S. Tsirkin wrote:
> > On Tue, Jan 10, 2012 at 07:21:01PM +0100, Jan Kiszka wrote:
> >>> ATM writes to msi/msix mask bit have no effect for assigned
> >>> devices. For virtio, they are implemented by deassigning irqfd
> >>> which is a very slow operation (rcu write side).
> >>>
> >>> Instead, When guest writes to mask, qemu can set/clear by calling
> >>> this ioctl.
> >>
> >> Isn't that effort better invested in proper in-kernel mask emulation for
> >> MSI-X?
> > 
> > This gives us a working implementation fo free.  Whether MSIX mask
> > writes are worth accelerating in kernel I'm not 100% sure.
> 
> If it's worth optimizing the irqfd on/off dance,

Not sure about that either. At least for virtio in my tests
they almost never trigger. But it's needed for correctness
for assigned devices for msix.

> then it's more than
> likely that eliminating the heavy user space exits, additional syscalls
> along that way, and locking contentions up there is worth it as well. We
> even have those mask ops in a time-critical paths here, unfortunately.
> 
> >  But IMO this
> > shows it is a more generic interface.
> 
> I'm worried about adding something new that will soon become obsolete
> again. That's wasted effort IMHO unless we say today that there will be
> no in-kernel MSI-X support.
> 
> Jan

Yes. But as we are adding a new interface maybe it's better to add a
more generic one? I don't insist as I don't have a specific proposal,
just something to consider.

> -- 
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux