Hi Ian, The issue observed on credit2 scheduler is similar to the rt scheduler on arm platform. The root cause is that interrupts are disabled in the beginning of arm context_switch, thus spin_lock_irq is failing in ASSERT(local_irq_is_enabled()). I propose to change both credit2 and rt scheduler to run on arm platform as well and re-run the regression with scheduler patches.
On Sat, Jan 31, 2015 at 12:50 PM, Ian Campbell <ian.campb...@citrix.com> wrote: > On Fri, 2015-01-30 at 18:19 +0200, Denys Drozdov wrote: > > > since context_save executed right from IRQ level. The arm interrupt > > handling differs from x86. ARM is handling context_saved with IRQ > > disabled in CPSR, though x86 has IRQs on. Thus it is failing on ASSERT > > inside spin_lock_irq when running on ARM. I guess it should work on > > x86, so this issue is ARM platform specific. > > FWIW I was waiting for it to happen to a xen-unstable run but the latest > osstest gate run at > http://www.chiark.greenend.org.uk/~xensrcts/logs/33915/ which included > Dario's patches to rationalize the schedulr tests vs. archs also > resulted in a similar sounding failure on credit2: > > http://www.chiark.greenend.org.uk/~xensrcts/logs/33915/test-armhf-armhf-xl-credit2/info.html > > http://www.chiark.greenend.org.uk/~xensrcts/logs/33915/test-armhf-armhf-xl-credit2/serial-marilith-n5.txt > > [Thu Jan 29 13:29:28 2015](XEN) Assertion 'local_irq_is_enabled()' > failed at spinlock.c:137 > [Thu Jan 29 13:29:28 2015](XEN) ----[ Xen-4.6-unstable arm32 > debug=y Not tainted ]---- > [Thu Jan 29 13:29:28 2015](XEN) CPU: 0 > [Thu Jan 29 13:29:28 2015](XEN) PC: 00229734 > _spin_lock_irq+0x18/0x94 > [Thu Jan 29 13:29:28 2015](XEN) CPSR: 200000da MODE:Hypervisor > [Thu Jan 29 13:29:28 2015](XEN) R0: 4000823c R1: 00000000 R2: > 02faf080 R3: 600000da > [Thu Jan 29 13:29:28 2015](XEN) R4: 4000823c R5: 4000d000 R6: > 4000823c R7: 002ee020 > [Thu Jan 29 13:29:28 2015](XEN) R8: 4000f218 R9: 00000000 > R10:0026fe08 R11:7ffcfefc R12:00000002 > [Thu Jan 29 13:29:28 2015](XEN) HYP: SP: 7ffcfeec LR: 0021f34c > [Thu Jan 29 13:29:28 2015](XEN) > [Thu Jan 29 13:29:28 2015](XEN) VTCR_EL2: 80003558 > [Thu Jan 29 13:29:28 2015](XEN) VTTBR_EL2: 00010002b9ffc000 > [Thu Jan 29 13:29:28 2015](XEN) > [Thu Jan 29 13:29:28 2015](XEN) SCTLR_EL2: 30cd187f > [Thu Jan 29 13:29:28 2015](XEN) HCR_EL2: 000000000038643f > [Thu Jan 29 13:29:28 2015](XEN) TTBR0_EL2: 00000000ff6e8000 > [Thu Jan 29 13:29:28 2015](XEN) > [Thu Jan 29 13:29:28 2015](XEN) ESR_EL2: 00000000 > [Thu Jan 29 13:29:28 2015](XEN) HPFAR_EL2: 0000000000000000 > [Thu Jan 29 13:29:28 2015](XEN) HDFAR: 00000000 > [Thu Jan 29 13:29:28 2015](XEN) HIFAR: 00000000 > [Thu Jan 29 13:29:28 2015](XEN) > [Thu Jan 29 13:29:28 2015](XEN) Xen stack trace from sp=7ffcfeec: > [Thu Jan 29 13:29:28 2015](XEN) 0024d068 00000000 002f0328 > 7ffcff2c 0021f34c 00000000 00000000 6591e5c1 > [Thu Jan 29 13:29:28 2015](XEN) 00000000 4000d000 4000d000 > 00000000 00000000 00000000 00000000 7ffcff3c > [Thu Jan 29 13:29:28 2015](XEN) 002285dc 00007fff 00000000 > 7ffcff4c 00242614 00000000 00000000 7ffcff54 > [Thu Jan 29 13:29:28 2015](XEN) 002427c8 00000000 00242b6c > 00000000 ffffffff 28000000 00000000 00000000 > [Thu Jan 29 13:29:28 2015](XEN) 00000000 00000000 00000000 > 00000000 00000000 00000000 00000000 00000000 > [Thu Jan 29 13:29:28 2015](XEN) 00000000 00000000 27a00000 > 000001d3 00000000 00000000 00000000 00000000 > [Thu Jan 29 13:29:28 2015](XEN) 00000000 00000000 00000000 > 00000000 00000000 00000000 00000000 00000000 > [Thu Jan 29 13:29:28 2015](XEN) 00000000 00000000 00000000 > 00000000 00000000 00000000 00000000 00000000 > [Thu Jan 29 13:29:28 2015](XEN) 00000000 00000000 00000000 > 00000000 00000000 > [Thu Jan 29 13:29:28 2015](XEN) Xen call trace: > [Thu Jan 29 13:29:28 2015](XEN) [<00229734>] > _spin_lock_irq+0x18/0x94 (PC) > [Thu Jan 29 13:29:28 2015](XEN) [<0021f34c>] > csched2_context_saved+0x44/0x18c (LR) > [Thu Jan 29 13:29:28 2015](XEN) [<0021f34c>] > csched2_context_saved+0x44/0x18c > [Thu Jan 29 13:29:28 2015](XEN) [<002285dc>] > context_saved+0x58/0x80 > [Thu Jan 29 13:29:28 2015](XEN) [<00242614>] > schedule_tail+0x148/0x2f0 > [Thu Jan 29 13:29:28 2015](XEN) [<002427c8>] > continue_new_vcpu+0xc/0x70 > [Thu Jan 29 13:29:28 2015](XEN) [<00242b6c>] > context_switch+0x74/0x7c > [Thu Jan 29 13:29:28 2015](XEN) > [Thu Jan 29 13:29:28 2015](XEN) > [Thu Jan 29 13:29:28 2015](XEN) > **************************************** > [Thu Jan 29 13:29:28 2015](XEN) Panic on CPU 0: > [Thu Jan 29 13:29:28 2015](XEN) Assertion 'local_irq_is_enabled()' > failed at spinlock.c:137 > [Thu Jan 29 13:29:28 2015](XEN) > **************************************** > > I didn't have a chance yet to think about whether the ARM ctxt switch or > the scheduler(s) are in the wrong here... > > Ian. > > > -- Denis Drozdov <http://www.globallogic.com/email_disclaimer.txt>
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel