Julien,

The details of this issue can be found in the current mailing list.
Please have a look at
http://lists.xen.org/archives/html/xen-devel/2014-09/msg04250.html.
This is exactly the same behaviour we are observing when running on our arm
setup.

The fix changes spin_lock_irq/spin_unlock_irq to
spin_lock_irq_save/spin_lock_irq_restore,
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.

On Fri, Jan 30, 2015 at 6:10 PM, Julien Grall <julien.gr...@linaro.org>
wrote:

> On 30/01/15 15:56, Andrew Cooper wrote:
> > On 30/01/15 15:46, Julien Grall wrote:
> >> Hello Denys,
> >>
> >> On 30/01/15 15:40, Denis Drozdov wrote:
> >>> From: denys drozdov <denys.droz...@globallogic.com>
> >>>
> >>> Update RT scheduler to run on arm platform
> >> You need to give more background of the problem (i.e why you have to
> >> disable the IRQ on ARM).
> >>
> >> As the scheduler is common with x86, I would expect the problem is also
> >> happening on this architecture.
> >
> > Changing a spinlock_irq into an irqsave is safe, functionally speaking,
> > but it is concerning that the scheduler appears to be called in
> > different interrupt states between architectures.
>
> For instance credit2 is also using vcpu_schedule_lock_irq... Although,
> IIRC, it's not used by default. So it has to be fixed too on ARM.
>
> In any case, the commit message needs more background such as stack
> trace and/or explaining why we have to take spinlock_irq.
>
> This may also need to document context_saved to explain the IRQs may not
> be enabled when this function is called.
>
> Regards,
>
> --
> Julien Grall
>



-- 

Denis Drozdov
GlobalLogic
M +(380)988969537  S denis.drozdov
www.globallogic.com
<http://www.globallogic.com/>
http://www.globallogic.com/email_disclaimer.txt
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to