[PATCH v4 0/7] PV on HVM: receive interrupts as xen events

From: Stefano Stabellini
Date: Tue Oct 12 2010 - 12:34:27 EST


Hi all,
this patch series introduces some performance improvements for xen PV on
HVM guests: interacting with the emulated APIC is slow because it causes
traps in the hypervisor while receiving xen events using the vector callback
mechanism allow us to skip all that. For this reason we remap interrupts
and MSIs into xen pirqs so that from that point on we can receive them
as xen events instead.
This series is based on Konrad's pcifront series:

http://lkml.org/lkml/2010/10/12/207

and requires a patch to xen and a patch to qemu-xen (both sent to the
list).


New changes in v4:
- xen_hvm_register_pirq has been made static;

- the functions in arch/x86/pci/xen.c that depends on CONFIG_ACPI have
been ifdef'ed.


The list of patches with diffstat follows:

Jeremy Fitzhardinge (2):
acpi: use indirect call to register gsi in different modes
xen: add xen hvm acpi_register_gsi variant

Stefano Stabellini (5):
xen: support pirq != irq
xen: get the maximum number of pirqs from xen
xen: implement xen_hvm_register_pirq
xen: support GSI -> pirq remapping in PV on HVM guests
xen: map MSIs into pirqs

arch/x86/include/asm/acpi.h | 3 +
arch/x86/include/asm/xen/pci.h | 5 ++
arch/x86/kernel/acpi/boot.c | 60 ++++++++++++++-----
arch/x86/pci/xen.c | 117 +++++++++++++++++++++++++++++++++++++
drivers/xen/events.c | 120 ++++++++++++++++++++++++++++++++------
include/xen/events.h | 3 +
include/xen/interface/features.h | 3 +
include/xen/interface/physdev.h | 36 +++++++++++
8 files changed, 311 insertions(+), 36 deletions(-)



A git tree with this series and Konrad's pcifront series on top of Linux
2.6.36-rc6 is available here:

git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git 2.6.36-rc6-pvhvm-pirq-v4

Cheers,

Stefano Stabellini
--
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/