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 0/4] xen: events: improve event channel IRQ allocatio

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH 0/4] xen: events: improve event channel IRQ allocation strategy.
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Tue, 11 Jan 2011 17:19:49 +0000
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Tue, 11 Jan 2011 09:20:29 -0800
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>
Organization: Citrix Systems, Inc.
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
The following series changes the Xen event channel infrastructure to
make better use of the core IRQ allocation interfaces and simplifies
our attempts to avoid clashes between GSIs and event channels.

The two most interesting changes are:

      * PV domU IRQ numbers are now completely dynamically allocated,
        including those associated with PCI passthrough devices. Since
        the guest sees no equivalent to GSI space there is no need to do
        anything clever in this case like maintaining a 1-1 mapping
        between GSI and IRQ. (this is impossible anyway since a PV guest
        has no idea what the largest possible GSI is).

      * PV dom0 and HVM guests now completely segregate GSIs from
        dynamically allocated IRQs. In this case IRQs for GSIs are
        allocated 1-1 beneath nr_irq_gsi (similar to native) and dynamic
        IRQs (event channels, MSIs etc) are allocated above. This
        simplifies the IRQ allocator code enormously.

The series has been tested as:
      * PV guest with a PCI passthrough device.
      * PV domain 0.
      * HVM guest with and without XENFEAT_hvm_pirqs.

It appears to do the correct thing in each case.

I also tried HVM with PCI passthrough, which wasn't too successful due
to my hardware not having an IOMMU, but it did appear to setup the IRQ
mapping correctly at least.

I don't intend this for 2.6.38 at this stage since it looks like:
        67b0ea2bdcd7 xen/irq: Don't fall over when nr_irqs_gsi > nr_irqs.
        d1b758ebc2a8 xen/irq: Cleanup the find_unbound_irq
are sufficient (BTW this series follows those).


Xen-devel mailing list