Besides 3 cleanup patches, this series consists of two major changes. The first introduces an interrupt sharing notifier to the genirq subsystem. It fires when an interrupt line is about to be use by more than one driver or the last but one user called free_irq. The second major change makes use of this interface in KVM's PCI pass- through subsystem. KVM has to keep the interrupt source disabled while calling into the guest to handle the event. This can be done at device or line level. The former is required to share the interrupt line, the latter is an order of magnitude faster (see patch 3 for details). Beside pass-through support of KVM, further users of the IRQ notifier could become VFIO (not yet mainline) and uio_pci_generic which have to resolve the same conflict. Jan Kiszka (5): genirq: Pass descriptor to __free_irq genirq: Introduce interrupt sharing notifier KVM: Split up MSI-X assigned device IRQ handler KVM: Clean up unneeded void pointer casts KVM: Allow host IRQ sharing for passed-through PCI 2.3 devices Documentation/kvm/api.txt | 25 +++ arch/x86/kvm/x86.c | 1 + include/linux/interrupt.h | 21 +++ include/linux/irqdesc.h | 9 + include/linux/kvm.h | 6 + include/linux/kvm_host.h | 4 + kernel/irq/irqdesc.c | 6 + kernel/irq/manage.c | 174 ++++++++++++++++++-- virt/kvm/assigned-dev.c | 420 +++++++++++++++++++++++++++++++++++++++------ 9 files changed, 606 insertions(+), 60 deletions(-) -- 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