[PATCH 0/5] KVM&genirq: Enable adaptive IRQ sharing for passed-through devices

From: Jan Kiszka
Date: Fri Dec 03 2010 - 18:38:08 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/