This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH v4 0/7] PV on HVM: receive interrupts as xen events
From: Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Date: Tue, 12 Oct 2010 17:34:19 +0100
Cc: Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>, Fitzhardinge <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Jeremy, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Tue, 12 Oct 2010 09:36:21 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
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:


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

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:



Stefano Stabellini

Xen-devel mailing list