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

Re: [Xen-devel] pvops-2.6.32 - Interrupt routing problem



On 03/14/2010 08:23 AM, Bastian Blank wrote:
On Sun, Mar 14, 2010 at 03:08:14PM +0100, Bastian Blank wrote:
On Wed, Mar 10, 2010 at 12:19:23PM +0100, Bastian Blank wrote:
I was able to test Xen 3.4.3-rc3 and the current 2.6.32 tree on a
HP DL385 G6.
It also happens with Xen 4.0.0-rc6.
Oops, I'm blind:

-IOAPIC[0]: apic_id 8, version 17, address 0xfec00000, GSI 0-15
+IOAPIC[0]: apic_id 8, version 0, address 0xfec00000, GSI 0-0
  ACPI: IOAPIC (id[0x09] address[0xfec01000] gsi_base[16])
-IOAPIC[1]: apic_id 9, version 17, address 0xfec01000, GSI 16-31
+IOAPIC[1]: apic_id 9, version 0, address 0xfec01000, GSI 16-16
  ACPI: IOAPIC (id[0x0a] address[0xfec02000] gsi_base[32])
-IOAPIC[2]: apic_id 10, version 17, address 0xfec02000, GSI 32-47
+IOAPIC[2]: apic_id 10, version 0, address 0xfec02000, GSI 32-32
+ERROR: Unable to locate IOAPIC for GSI 2
  ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
-ACPI: IRQ0 used by override.
-ACPI: IRQ2 used by override.
-ACPI: IRQ9 used by override.
+ERROR: Unable to locate IOAPIC for GSI 9

The kernel running on Xen does not even detect the version and GSI
ranges correctly.

That's not necessarily a problem. The normal native IOAPIC code will try to probe for IOAPICs, but they won't be detected because Xen owns them all. In the Xen case, it still depends on ACPI to get the proper device pin->gsi mapping, but then it just does a hypercall to bind the gsi to an event channel.

However something caught my attention.

>  |  5: xen-pirq-ioapic-edge  ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb4
>  [    1.626062] ehci_hcd 0000:00:07.2: PCI INT A ->  Link[IUSB] ->  GSI 5 
(level, low) ->  IRQ 5
> | 14: xen-pirq-ioapic-edge sata_svw
>  [    1.718903] sata_svw 0000:01:0e.0: PCI INT A ->  Link[ISF0] ->  GSI 14 
(level, low) ->  IRQ 14
The interrupts are enabled as edge driven, but are reported by ACPI as
level triggered.


Yep, that's going to be a problem. I guess there's some typo in there which is mixing up level and edge in some circumstance (it can't be global because otherwise nothing would work). It's interesting your devices both have GSIs in the "legacy ISA" range (< 16); I wonder if something somewhere is misdescribing the interrupts.

Could you post full boot logs for the kernel booting both native and under Xen to see how they differ?

Thanks,
    J


_______________________________________________
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®.