On 03/02/2012 04:55 PM, Bastian Blank wrote: > On Fri, Mar 02, 2012 at 01:20:17PM +0800, Thomas Goirand wrote: >> Replacing BUG_ON by a WARN_ON, and adding #define DEBUG 1 on top of >> dma_v2.c, my kernel booted, and I had the attached dmesg output. > > Please provide /proc/interrupts from all four cases (32/64, xen/non-xen) > and the Xen APIC-state (z on the Xen console I think). > > Bastian
As per your request, see attached files. Thomas
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 1: 4 0 0 0 0 0 0 0 xen-pirq-ioapic-edge i8042 6: 3 0 0 0 0 0 0 0 xen-pirq-ioapic-edge floppy 8: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-edge rtc0 9: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level acpi 12: 4 0 0 0 0 0 0 0 xen-pirq-ioapic-edge i8042 16: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level uhci_hcd:usb3 18: 2 0 0 0 0 0 0 0 xen-pirq-ioapic-level ehci_hcd:usb1, uhci_hcd:usb8 19: 48 0 0 0 0 0 0 0 xen-pirq-ioapic-level uhci_hcd:usb5, uhci_hcd:usb7 21: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level uhci_hcd:usb4 23: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level ehci_hcd:usb2, uhci_hcd:usb6 272: 3863 0 0 0 0 0 0 0 xen-percpu-virq timer0 273: 1664 0 0 0 0 0 0 0 xen-percpu-ipi resched0 274: 413 0 0 0 0 0 0 0 xen-percpu-ipi callfunc0 275: 0 0 0 0 0 0 0 0 xen-percpu-virq debug0 276: 35 0 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle0 277: 0 4883 0 0 0 0 0 0 xen-percpu-virq timer1 278: 0 2369 0 0 0 0 0 0 xen-percpu-ipi resched1 279: 0 620 0 0 0 0 0 0 xen-percpu-ipi callfunc1 280: 0 0 0 0 0 0 0 0 xen-percpu-virq debug1 281: 0 377 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle1 282: 0 0 3509 0 0 0 0 0 xen-percpu-virq timer2 283: 0 0 1174 0 0 0 0 0 xen-percpu-ipi resched2 284: 0 0 525 0 0 0 0 0 xen-percpu-ipi callfunc2 285: 0 0 0 0 0 0 0 0 xen-percpu-virq debug2 286: 0 0 945 0 0 0 0 0 xen-percpu-ipi callfuncsingle2 287: 0 0 0 4194 0 0 0 0 xen-percpu-virq timer3 288: 0 0 0 2389 0 0 0 0 xen-percpu-ipi resched3 289: 0 0 0 646 0 0 0 0 xen-percpu-ipi callfunc3 290: 0 0 0 0 0 0 0 0 xen-percpu-virq debug3 291: 0 0 0 514 0 0 0 0 xen-percpu-ipi callfuncsingle3 292: 0 0 0 0 4593 0 0 0 xen-percpu-virq timer4 293: 0 0 0 0 1546 0 0 0 xen-percpu-ipi resched4 294: 0 0 0 0 576 0 0 0 xen-percpu-ipi callfunc4 295: 0 0 0 0 0 0 0 0 xen-percpu-virq debug4 296: 0 0 0 0 6018 0 0 0 xen-percpu-ipi callfuncsingle4 297: 0 0 0 0 0 4320 0 0 xen-percpu-virq timer5 298: 0 0 0 0 0 2117 0 0 xen-percpu-ipi resched5 299: 0 0 0 0 0 587 0 0 xen-percpu-ipi callfunc5 300: 0 0 0 0 0 0 0 0 xen-percpu-virq debug5 301: 0 0 0 0 0 369 0 0 xen-percpu-ipi callfuncsingle5 302: 0 0 0 0 0 0 5126 0 xen-percpu-virq timer6 303: 0 0 0 0 0 0 1067 0 xen-percpu-ipi resched6 304: 0 0 0 0 0 0 530 0 xen-percpu-ipi callfunc6 305: 0 0 0 0 0 0 0 0 xen-percpu-virq debug6 306: 0 0 0 0 0 0 1046 0 xen-percpu-ipi callfuncsingle6 307: 0 0 0 0 0 0 0 4007 xen-percpu-virq timer7 308: 0 0 0 0 0 0 0 1921 xen-percpu-ipi resched7 309: 0 0 0 0 0 0 0 625 xen-percpu-ipi callfunc7 310: 0 0 0 0 0 0 0 0 xen-percpu-virq debug7 311: 0 0 0 0 0 0 0 470 xen-percpu-ipi callfuncsingle7 312: 79 0 0 0 0 0 0 0 xen-dyn-event xenbus 314: 887 0 0 0 0 0 0 0 xen-pirq-msi-x eth0-rx-0 315: 202 0 0 0 0 0 0 0 xen-pirq-msi-x eth0-tx-0 316: 3 0 0 0 0 0 0 0 xen-pirq-msi-x eth0 317: 10196 0 0 0 0 0 0 0 xen-pirq-msi ahci 321: 69 0 0 0 0 0 0 0 xen-dyn-event evtchn:xenstored 322: 0 0 0 0 0 0 0 0 xen-dyn-event evtchn:xenstored NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts LOC: 0 0 0 0 0 0 0 0 Local timer interrupts SPU: 0 0 0 0 0 0 0 0 Spurious interrupts PMI: 0 0 0 0 0 0 0 0 Performance monitoring interrupts IWI: 0 0 0 0 0 0 0 0 IRQ work interrupts RES: 1664 2369 1174 2389 1546 2117 1067 1921 Rescheduling interrupts CAL: 448 997 1470 1160 6594 956 1576 1095 Function call interrupts TLB: 0 0 0 0 0 0 0 0 TLB shootdowns TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts MCE: 0 0 0 0 0 0 0 0 Machine check exceptions MCP: 0 0 0 0 0 0 0 0 Machine check polls ERR: 0 MIS: 0
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 0: 6664 0 0 0 0 0 0 0 IO-APIC-edge timer 1: 2 0 0 0 0 0 0 0 IO-APIC-edge i8042 6: 3 0 0 0 0 0 0 0 IO-APIC-edge floppy 8: 1 0 0 0 0 0 0 0 IO-APIC-edge rtc0 9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi 12: 4 0 0 0 0 0 0 0 IO-APIC-edge i8042 16: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3 18: 2 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb8 19: 49 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb5, uhci_hcd:usb7 21: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4 23: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6 40: 674 0 0 0 0 0 0 0 PCI-MSI-edge eth0-rx-0 41: 109 0 0 0 0 0 0 0 PCI-MSI-edge eth0-tx-0 42: 2 0 0 0 0 0 0 0 PCI-MSI-edge eth0 43: 4539 0 0 0 0 0 0 0 PCI-MSI-edge ahci NMI: 3 0 0 0 0 0 0 0 Non-maskable interrupts LOC: 818 3347 2425 2216 2933 3712 4996 2767 Local timer interrupts SPU: 0 0 0 0 0 0 0 0 Spurious interrupts PMI: 3 0 0 0 0 0 0 0 Performance monitoring interrupts IWI: 0 0 0 0 0 0 0 0 IRQ work interrupts RES: 1428 1647 1215 1339 597 528 636 546 Rescheduling interrupts CAL: 229 554 563 551 557 578 571 559 Function call interrupts TLB: 2 0 5 0 7 8 7 7 TLB shootdowns TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts MCE: 0 0 0 0 0 0 0 0 Machine check exceptions MCP: 2 2 2 2 2 2 2 2 Machine check polls ERR: 0 MIS: 0
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 1: 4 0 0 0 0 0 0 0 xen-pirq-ioapic-edge i8042 6: 3 0 0 0 0 0 0 0 xen-pirq-ioapic-edge floppy 8: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-edge rtc0 9: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level acpi 12: 4 0 0 0 0 0 0 0 xen-pirq-ioapic-edge i8042 16: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level uhci_hcd:usb3 18: 2 0 0 0 0 0 0 0 xen-pirq-ioapic-level ehci_hcd:usb1, uhci_hcd:usb8 19: 49 0 0 0 0 0 0 0 xen-pirq-ioapic-level uhci_hcd:usb5, uhci_hcd:usb7 21: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level uhci_hcd:usb4 23: 0 0 0 0 0 0 0 0 xen-pirq-ioapic-level ehci_hcd:usb2, uhci_hcd:usb6 272: 3165 0 0 0 0 0 0 0 xen-percpu-virq timer0 273: 1428 0 0 0 0 0 0 0 xen-percpu-ipi resched0 274: 415 0 0 0 0 0 0 0 xen-percpu-ipi callfunc0 275: 0 0 0 0 0 0 0 0 xen-percpu-virq debug0 276: 36 0 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle0 277: 0 3337 0 0 0 0 0 0 xen-percpu-virq timer1 278: 0 1808 0 0 0 0 0 0 xen-percpu-ipi resched1 279: 0 617 0 0 0 0 0 0 xen-percpu-ipi callfunc1 280: 0 0 0 0 0 0 0 0 xen-percpu-virq debug1 281: 0 246 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle1 282: 0 0 2454 0 0 0 0 0 xen-percpu-virq timer2 283: 0 0 967 0 0 0 0 0 xen-percpu-ipi resched2 284: 0 0 543 0 0 0 0 0 xen-percpu-ipi callfunc2 285: 0 0 0 0 0 0 0 0 xen-percpu-virq debug2 286: 0 0 956 0 0 0 0 0 xen-percpu-ipi callfuncsingle2 287: 0 0 0 3075 0 0 0 0 xen-percpu-virq timer3 288: 0 0 0 1628 0 0 0 0 xen-percpu-ipi resched3 289: 0 0 0 625 0 0 0 0 xen-percpu-ipi callfunc3 290: 0 0 0 0 0 0 0 0 xen-percpu-virq debug3 291: 0 0 0 420 0 0 0 0 xen-percpu-ipi callfuncsingle3 292: 0 0 0 0 3059 0 0 0 xen-percpu-virq timer4 293: 0 0 0 0 1091 0 0 0 xen-percpu-ipi resched4 294: 0 0 0 0 474 0 0 0 xen-percpu-ipi callfunc4 295: 0 0 0 0 0 0 0 0 xen-percpu-virq debug4 296: 0 0 0 0 1204 0 0 0 xen-percpu-ipi callfuncsingle4 297: 0 0 0 0 0 3858 0 0 xen-percpu-virq timer5 298: 0 0 0 0 0 1490 0 0 xen-percpu-ipi resched5 299: 0 0 0 0 0 527 0 0 xen-percpu-ipi callfunc5 300: 0 0 0 0 0 0 0 0 xen-percpu-virq debug5 301: 0 0 0 0 0 229 0 0 xen-percpu-ipi callfuncsingle5 302: 0 0 0 0 0 0 3438 0 xen-percpu-virq timer6 303: 0 0 0 0 0 0 920 0 xen-percpu-ipi resched6 304: 0 0 0 0 0 0 515 0 xen-percpu-ipi callfunc6 305: 0 0 0 0 0 0 0 0 xen-percpu-virq debug6 306: 0 0 0 0 0 0 815 0 xen-percpu-ipi callfuncsingle6 307: 0 0 0 0 0 0 0 4474 xen-percpu-virq timer7 308: 0 0 0 0 0 0 0 1521 xen-percpu-ipi resched7 309: 0 0 0 0 0 0 0 610 xen-percpu-ipi callfunc7 310: 0 0 0 0 0 0 0 0 xen-percpu-virq debug7 311: 0 0 0 0 0 0 0 391 xen-percpu-ipi callfuncsingle7 312: 0 0 0 0 0 0 0 0 xen-dyn-event xenbus 314: 870 0 0 0 0 0 0 0 xen-pirq-msi-x eth0-rx-0 315: 94 0 0 0 0 0 0 0 xen-pirq-msi-x eth0-tx-0 316: 3 0 0 0 0 0 0 0 xen-pirq-msi-x eth0 317: 5030 0 0 0 0 0 0 0 xen-pirq-msi ahci NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts LOC: 0 0 0 0 0 0 0 0 Local timer interrupts SPU: 0 0 0 0 0 0 0 0 Spurious interrupts PMI: 0 0 0 0 0 0 0 0 Performance monitoring interrupts IWI: 0 0 0 0 0 0 0 0 IRQ work interrupts RES: 1428 1808 967 1628 1091 1490 920 1521 Rescheduling interrupts CAL: 451 863 1499 1045 1678 756 1330 1001 Function call interrupts TLB: 0 0 0 0 0 0 0 0 TLB shootdowns TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts MCE: 0 0 0 0 0 0 0 0 Machine check exceptions MCP: 0 0 0 0 0 0 0 0 Machine check polls ERR: 0 MIS: 0
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 0: 31136 0 0 0 0 0 0 0 IO-APIC-edge timer 1: 2 0 0 0 0 0 0 0 IO-APIC-edge i8042 6: 3 0 0 0 0 0 0 0 IO-APIC-edge floppy 8: 1 0 0 0 0 0 0 0 IO-APIC-edge rtc0 9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi 12: 4 0 0 0 0 0 0 0 IO-APIC-edge i8042 16: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3 18: 2 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb8 19: 49 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb5, uhci_hcd:usb7 21: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4 23: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6 40: 189 0 0 0 0 0 0 0 PCI-MSI-edge eth0-rx-0 41: 74 0 0 0 0 0 0 0 PCI-MSI-edge eth0-tx-0 42: 2 0 0 0 0 0 0 0 PCI-MSI-edge eth0 43: 84285 0 0 0 0 0 0 0 PCI-MSI-edge ahci NMI: 15 1 0 0 1 1 1 0 Non-maskable interrupts LOC: 5048 5344 6359 7133 9132 10583 11916 10425 Local timer interrupts SPU: 0 0 0 0 0 0 0 0 Spurious interrupts PMI: 15 1 0 0 1 1 1 0 Performance monitoring interrupts IWI: 0 0 0 0 0 0 0 0 IRQ work interrupts RES: 1495 2278 1582 1587 706 808 534 614 Rescheduling interrupts CAL: 240 556 569 575 545 568 586 603 Function call interrupts TLB: 2 1 2 0 3 6 9 5 TLB shootdowns TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts MCE: 0 0 0 0 0 0 0 0 Machine check exceptions MCP: 2 2 2 2 2 2 2 2 Machine check polls ERR: 0 MIS: 0
[SOL Session operational. Use ~? for help] (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen) (XEN) *** Serial input -> Xen (type 'CTRL-a' three times to switch input to DOM0) (XEN) number of MP IRQ sources: 15. (XEN) number of IO-APIC #8 registers: 24. (XEN) testing the IO APIC....................... (XEN) IO APIC #8...... (XEN) .... register #00: 08000000 (XEN) ....... : physical APIC id: 08 (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 00170020 (XEN) ....... : max redirection entries: 0017 (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0020 (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 040 00 0 0 0 0 0 1 1 49 (XEN) 02 001 01 0 0 0 0 0 1 1 F0 (XEN) 03 0FF 0F 1 0 0 0 0 1 1 38 (XEN) 04 0FF 0F 1 0 0 0 0 1 1 40 (XEN) 05 001 01 0 0 0 0 0 1 1 F1 (XEN) 06 001 01 0 0 0 0 0 1 1 48 (XEN) 07 001 01 0 0 0 0 0 1 1 50 (XEN) 08 001 01 0 0 0 0 0 1 1 58 (XEN) 09 001 01 0 1 0 0 0 1 1 60 (XEN) 0a 001 01 0 0 0 0 0 1 1 68 (XEN) 0b 001 01 0 0 0 0 0 1 1 70 (XEN) 0c 040 00 0 0 0 0 0 1 1 41 (XEN) 0d 0FF 0F 1 0 0 0 0 1 1 88 (XEN) 0e 001 01 0 0 0 0 0 1 1 90 (XEN) 0f 001 01 0 0 0 0 0 1 1 98 (XEN) 10 001 01 0 1 0 1 0 1 1 A0 (XEN) 11 000 00 1 0 0 0 0 0 0 00 (XEN) 12 001 01 0 1 0 1 0 1 1 C0 (XEN) 13 040 00 0 1 0 1 0 1 1 D0 (XEN) 14 016 06 1 0 0 0 0 0 2 43 (XEN) 15 001 01 0 1 0 1 0 1 1 39 (XEN) 16 04E 0E 1 0 0 0 0 0 2 43 (XEN) 17 001 01 0 1 0 1 0 1 1 C8 (XEN) Using vector-based indexing (XEN) IRQ to pin mappings: (XEN) IRQ240 -> 0:2 (XEN) IRQ73 -> 0:1 (XEN) IRQ56 -> 0:3 (XEN) IRQ64 -> 0:4 (XEN) IRQ241 -> 0:5 (XEN) IRQ72 -> 0:6 (XEN) IRQ80 -> 0:7 (XEN) IRQ88 -> 0:8 (XEN) IRQ96 -> 0:9 (XEN) IRQ104 -> 0:10 (XEN) IRQ112 -> 0:11 (XEN) IRQ65 -> 0:12 (XEN) IRQ136 -> 0:13 (XEN) IRQ144 -> 0:14 (XEN) IRQ152 -> 0:15 (XEN) IRQ160 -> 0:16 (XEN) IRQ192 -> 0:18 (XEN) IRQ208 -> 0:19 (XEN) IRQ57 -> 0:21 (XEN) IRQ200 -> 0:23
(XEN) number of MP IRQ sources: 15. (XEN) number of IO-APIC #8 registers: 24. (XEN) testing the IO APIC....................... (XEN) IO APIC #8...... (XEN) .... register #00: 08000000 (XEN) ....... : physical APIC id: 08 (XEN) ....... : Delivery Type: 0 (XEN) ....... : LTS : 0 (XEN) .... register #01: 00170020 (XEN) ....... : max redirection entries: 0017 (XEN) ....... : PRQ implemented: 0 (XEN) ....... : IO APIC version: 0020 (XEN) .... IRQ redirection table: (XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: (XEN) 00 000 00 1 0 0 0 0 0 0 00 (XEN) 01 004 04 0 0 0 0 0 1 1 A8 (XEN) 02 001 01 0 0 0 0 0 1 1 F0 (XEN) 03 0FF 0F 1 0 0 0 0 1 1 38 (XEN) 04 0FF 0F 1 0 0 0 0 1 1 40 (XEN) 05 001 01 0 0 0 0 0 1 1 F1 (XEN) 06 004 04 0 0 0 0 0 1 1 D8 (XEN) 07 001 01 0 0 0 0 0 1 1 50 (XEN) 08 004 04 0 0 0 0 0 1 1 B0 (XEN) 09 001 01 0 1 0 0 0 1 1 60 (XEN) 0a 001 01 0 0 0 0 0 1 1 68 (XEN) 0b 001 01 0 0 0 0 0 1 1 70 (XEN) 0c 010 00 0 0 0 0 0 1 1 A0 (XEN) 0d 0FF 0F 1 0 0 0 0 1 1 88 (XEN) 0e 001 01 0 0 0 0 0 1 1 90 (XEN) 0f 001 01 0 0 0 0 0 1 1 98 (XEN) 10 004 04 0 1 0 1 0 1 1 B8 (XEN) 11 000 00 1 0 0 0 0 0 0 00 (XEN) 12 004 04 0 1 0 1 0 1 1 21 (XEN) 13 004 04 0 1 0 1 0 1 1 31 (XEN) 14 016 06 1 0 0 0 0 0 2 43 (XEN) 15 004 04 0 1 0 1 0 1 1 41 (XEN) 16 04E 0E 1 0 0 0 0 0 2 43 (XEN) 17 004 04 0 1 0 1 0 1 1 29 (XEN) Using vector-based indexing (XEN) IRQ to pin mappings: (XEN) IRQ240 -> 0:2 (XEN) IRQ168 -> 0:1 (XEN) IRQ56 -> 0:3 (XEN) IRQ64 -> 0:4 (XEN) IRQ241 -> 0:5 (XEN) IRQ216 -> 0:6 (XEN) IRQ80 -> 0:7 (XEN) IRQ176 -> 0:8 (XEN) IRQ96 -> 0:9 (XEN) IRQ104 -> 0:10 (XEN) IRQ112 -> 0:11 (XEN) IRQ160 -> 0:12 (XEN) IRQ136 -> 0:13 (XEN) IRQ144 -> 0:14 (XEN) IRQ152 -> 0:15 (XEN) IRQ184 -> 0:16 (XEN) IRQ33 -> 0:18 (XEN) IRQ49 -> 0:19 (XEN) IRQ65 -> 0:21 (XEN) IRQ41 -> 0:23