[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 0/4] xen: events: improve event channel IRQ allocation strategy.



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).

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.