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

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

 



On 2012-03-06 16:34, Avi Kivity wrote:
> On 02/28/2012 03:19 PM, Jan Kiszka wrote:
>> PCI 2.3 allows to generically disable IRQ sources at device level. This
>> enables us to share legacy IRQs of such devices with other host devices
>> when passing them to a guest.
>>
>> The new IRQ sharing feature introduced here is optional, user space has
>> to request it explicitly. Moreover, user space can inform us about its
>> view of PCI_COMMAND_INTX_DISABLE so that we can avoid unmasking the
>> interrupt and signaling it if the guest masked it via the virtualized
>> PCI config space.
> 
> Long delay, sorry.
> 
> I'm sure we discussed this before, so a URL would be sufficient: why
> cannot this be transparent to userspace?

Yes, we did, and you may recall I tried hard to implement it. The
reasons for not following this path were given in one of the previous
postings:

"To recall the history of it: I tried hard to implement an adaptive
solution that automatically picks the fastest masking technique whenever
possible. However, the changes required to the IRQ core subsystem and
the logic of the device assignment code became so complex and partly
ugly that I gave up on this. It's simply not worth the pain given that
legacy PCI interrupts are rarely raised for performance critical device
at such a high rate (KHz...) that you can measure the difference."

> 
> As for the actual patch, I am so unfamiliar with the device assignment
> code now that I'll have to rely on Alex's review.
> 

Then let's hope he didn't miss any of my bugs.

Jan

-- 
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