Current xen-unstable crashes when booting xen/stable-2.6.32.x (2.6.32.11). I haven''t verified it yet, but I guess this is Bastian''s patch (537451477469). Or could it be Jan''s 4f796e29987c? J xen: --> irq=9 (XEN) Xen BUG at spinlock.c:28 (XEN) ----[ Xen-4.1-unstable x86_64 debug=y Not tainted ]---- (XEN) CPU: 0 (XEN) RIP: e008:[<ffff82c48011e641>] check_lock+0x39/0x45 (XEN) RFLAGS: 0000000000010246 CONTEXT: hypervisor (XEN) rax: 0000000000000001 rbx: ffff83013ff80534 rcx: 0000000000000000 (XEN) rdx: 0000000000000001 rsi: 0000000000000282 rdi: ffff83013ff80538 (XEN) rbp: ffff82c480377d30 rsp: ffff82c480377d30 r8: 0000000000000060 (XEN) r9: 00000000deadbeef r10: ffff82c48020ad60 r11: 0000000000000246 (XEN) r12: ffff83013ff80534 r13: 0000000000000282 r14: 0000000000000000 (XEN) r15: 0000000000000009 cr0: 000000008005003b cr4: 00000000000026f0 (XEN) cr3: 0000000139001000 cr2: ffff880001858fd0 (XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: e010 cs: e008 (XEN) Xen stack trace from rsp=ffff82c480377d30: (XEN) ffff82c480377d48 ffff82c48011ea03 ffff83013ff80500 ffff82c480377e08 (XEN) ffff82c480155544 0000000000000246 ffff82c480377d78 ffff82c48011ea03 (XEN) ffff83013ff80080 0000000000000480 0000000000000009 000000000000000f (XEN) 0000000000000000 0f00000000018960 ffff83013fee0000 0000000000000009 (XEN) 0000000000000082 000000000000000f 0000000000000000 000000000000000f (XEN) 0000000000000000 ffff82c480377e58 0000000000000000 0000000000000009 (XEN) 00000000ffffffff 0000000000000000 0000000000000000 ffff82c480377e58 (XEN) ffff82c48016a8d0 ffff82c480377e58 000000018186c4bd ffff82c480377e38 (XEN) ffffffff8169de18 ffff8300bf78a000 00000000ffffffff 0000000000000000 (XEN) 0000000000000002 ffff82c480377f08 ffff82c48016ccc0 7275746572203a71 (XEN) 71726920676e696e 6720726f66203920 0000000000000000 ffff000100000009 (XEN) 0000000900000009 ffffffff00000020 ffffffff8169ddf8 ffffffff8169ddb8 (XEN) aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa (XEN) aaaaaaaaaaaaaaaa ffffffff816c0910 ffff8300bf78a000 0000000000000009 (XEN) 00000000ffffffff 0000000000000000 0000000000000002 00007d3b7fc880b7 (XEN) ffff82c4801f41bf ffffffff8100942a 0000000000000021 0000000000000002 (XEN) 0000000000000000 00000000ffffffff 0000000000000009 ffffffff8169de48 (XEN) 0000000000000009 0000000000000246 0000000000000000 0000000000000000 (XEN) ffffffff810669f2 0000000000000021 ffffffff8100942a 0000000000000000 (XEN) ffffffff8169de18 0000000000000015 0000010000000000 ffffffff8100942a (XEN) Xen call trace: (XEN) [<ffff82c48011e641>] check_lock+0x39/0x45 (XEN) [<ffff82c48011ea03>] _spin_lock+0x11/0x3f (XEN) [<ffff82c480155544>] io_apic_set_pci_routing+0x3c9/0x3f7 (XEN) [<ffff82c48016a8d0>] mp_register_gsi+0x164/0x181 (XEN) [<ffff82c48016ccc0>] do_physdev_op+0xfd0/0x1034 (XEN) [<ffff82c4801f41bf>] syscall_enter+0xef/0x149 (XEN) (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) Xen BUG at spinlock.c:28 (XEN) **************************************** (XEN) (XEN) Reboot in five seconds... _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 04/06/2010 03:13 PM, Jeremy Fitzhardinge wrote:> Current xen-unstable crashes when booting xen/stable-2.6.32.x > (2.6.32.11). I haven''t > verified it yet, but I guess this is Bastian''s patch (537451477469). > Or could it be Jan''s 4f796e29987c?Looks like 4f796e29987c is the culprit; reverting it lets the kernel boot again. Before the crash, I also see lots of complaints from Xen while setting up interrupts: mapping kernel into physical memory Xen: setup ISA identity maps about to get started... (XEN) io_apic.c:2296: (XEN) ioapic_guest_write: apic=0, pin=0, irq=0 (XEN) ioapic_guest_write: new_entry=000109f0 (XEN) ioapic_guest_write: old_entry=00010000 pirq=0 (XEN) ioapic_guest_write: Attempt to modify IO-APIC pin for in-use IRQ! (XEN) io_apic.c:2296: (XEN) ioapic_guest_write: apic=0, pin=2, irq=0 (XEN) ioapic_guest_write: new_entry=000109f0 (XEN) ioapic_guest_write: old_entry=000009f0 pirq=0 (XEN) ioapic_guest_write: Attempt to modify IO-APIC pin for in-use IRQ! (XEN) irq.c:1445: dom0: pirq 0 or irq 3 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 4 already mapped (XEN) io_apic.c:2296: (XEN) ioapic_guest_write: apic=0, pin=5, irq=5 (XEN) ioapic_guest_write: new_entry=000109f2 (XEN) ioapic_guest_write: old_entry=000009f2 pirq=0 (XEN) ioapic_guest_write: Attempt to modify IO-APIC pin for in-use IRQ! (XEN) irq.c:1445: dom0: pirq 0 or irq 6 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 7 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 8 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 9 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 10 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 11 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 12 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 13 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 14 already mapped (XEN) irq.c:1445: dom0: pirq 0 or irq 15 already mapped (XEN) allocated vector 21 for irq 16 (XEN) irq.c:1445: dom0: pirq 0 or irq 16 already mapped (XEN) allocated vector 29 for irq 17 (XEN) irq.c:1445: dom0: pirq 0 or irq 17 already mapped (XEN) allocated vector 31 for irq 18 (XEN) irq.c:1445: dom0: pirq 0 or irq 18 already mapped (XEN) allocated vector 39 for irq 19 (XEN) irq.c:1445: dom0: pirq 0 or irq 19 already mapped (XEN) allocated vector 41 for irq 20 (XEN) irq.c:1445: dom0: pirq 0 or irq 20 already mapped (XEN) allocated vector 49 for irq 21 (XEN) irq.c:1445: dom0: pirq 0 or irq 21 already mapped (XEN) allocated vector 51 for irq 22 (XEN) irq.c:1445: dom0: pirq 0 or irq 22 already mapped (XEN) allocated vector 59 for irq 23 (XEN) irq.c:1445: dom0: pirq 0 or irq 23 already mapped (XEN) io_apic.c:2296: (XEN) ioapic_guest_write: apic=0, pin=0, irq=0 (XEN) ioapic_guest_write: new_entry=000009f0 (XEN) ioapic_guest_write: old_entry=00010000 pirq=0 (XEN) ioapic_guest_write: Attempt to modify IO-APIC pin for in-use IRQ! Initializing cgroup subsys cpuset J _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
>>> Jeremy Fitzhardinge <jeremy@goop.org> 07.04.10 00:33 >>> >On 04/06/2010 03:13 PM, Jeremy Fitzhardinge wrote: >> Current xen-unstable crashes when booting xen/stable-2.6.32.x >> (2.6.32.11). I haven''t >> verified it yet, but I guess this is Bastian''s patch (537451477469). >> Or could it be Jan''s 4f796e29987c? > >Looks like 4f796e29987c is the culprit; reverting it lets the kernel >boot again.Oh, looks like the spin_lock() needs to be a spin_lock_irqsave() there.>Before the crash, I also see lots of complaints from Xen while setting >up interrupts:That suggests your kernel might run through both (IO-APIC write and hypercall) paths (or one of them more than once), which would seem more like a kernel problem. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
>>> Jeremy Fitzhardinge <jeremy@goop.org> 07.04.10 00:13 >>> >Current xen-unstable crashes when booting xen/stable-2.6.32.x >(2.6.32.11). I haven''t >verified it yet, but I guess this is Bastian''s patch (537451477469). Or >could it be Jan''s 4f796e29987c?Mine, plus the debug=y one (at least I tested it before that one went in, which is why I didn''t notice any problem). Fix below. Signed-off-by: Jan Beulich <jbeulich@novell.com> --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -2163,12 +2163,12 @@ int io_apic_set_pci_routing (int ioapic, io_apic_write(ioapic, 0x11+2*pin, *(((int *)&entry)+1)); io_apic_write(ioapic, 0x10+2*pin, *(((int *)&entry)+0)); set_native_irq_info(irq, TARGET_CPUS); - spin_unlock_irqrestore(&ioapic_lock, flags); + spin_unlock(&ioapic_lock); spin_lock(&desc->lock); if (!(desc->status & (IRQ_DISABLED | IRQ_GUEST))) desc->handler->startup(irq); - spin_unlock(&desc->lock); + spin_unlock_irqrestore(&desc->lock, flags); return 0; } _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel