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

Re: [Xen-devel] IRQ SMP affinity problems in domU with vcpus > 4 on HP ProLiant G6 with dual Xeon 5540 (Nehalem)

On Fri, 2009-10-16 at 09:38 +0800, Cinco, Dante wrote:
> I'm confused why there are 4 sets of IRQs: dom0 lspci:[11,10,7,5], domU
> lspci proc interrupts:[48,49,50,51], pirq:[76,77,78,79], guest int
> info:[74,75,76,77].

This is indeed a little confusing at first, I'll try to differentiate
them here:
1. dom0 IRQ [11,10,7,5]: this is decided by dom0 kernel, through
   information from host ACPI
2. domU IRQ [48,49,50,51]: this is decided by domU kernel, through
   virtual ACPI present to guest. If there are multiple domUs, this
   space overlaps
3. pirq [76,77,79,79]: this is a per domain concept, it has nothing
   to do with the physical or virtual irq number, the sole purpose
   is to provide an interface between domains (mainly PV) and
   hypervisor. GSI part happens to be indentical mapped though.
4. irq [74,75,76,77]: global hypervisor concept, to track all irqs
   for all domains, origininally named `vector', the name changes
   when hypervisor per-CPU vectoring is introduced.

> pt_msi_update: Update msi with pirq 4f gvec 71 gflags 2 (What is the 
> significance of gflags 2?)
> pt_msi_update: Update msi with pirq 4f gvec b1 gflags 2

gflags is a custom interface that incorporates address and data:
DM, dest, etc. gflags=2 means DM=0 des=2.

The first line is an intermediate result, print when guest updates the
MSI address, the second line indicates an update to MSI data.

> (XEN) Guest interrupt information:
> (XEN)    IRQ:  74, IRQ affinity:0x00000001, Vec: 60 type=PCI-MSI
> status=00000010 in-flight=0 domain-list=1: 79(----),
> echo 2 > /proc/irq/48/smp_affinity
> (XEN) Guest interrupt information: (IRQ affinity changed from 1 to 2, while
> vector changed from 60 to 92)
> (XEN)    IRQ:  74, IRQ affinity:0x00000002, Vec: 92 type= PCI-MSI
> status=00000010 in-flight=1 domain-list=1: 79(---M),

`(---M)' means masked, that may be why the irq is not received.


Xen-devel mailing list



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