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

Re: [Xen-devel] [PATCH] xen/arm: Fix rtds scheduler for arm

>>> On 02.02.15 at 12:14, <Ian.Campbell@xxxxxxxxxx> wrote:
> On Mon, 2015-02-02 at 12:49 +0200, Denys Drozdov wrote:
>> 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.
> I'd like to hear from the scheduler and other $arch folks regarding
> whether we think the rtds and credit2 schedulers are wrong or whether it
> is actually the ARM arch code which needs fixing before considering any
> change.

The aspect to be understood first is why ARM needs IRQs disabled
past __context_switch() into schedule_tail() (and there until after
ctxt_switch_from() and ctxt_switch_to()). If that's indeed necessary,
there's no question that the schedulers need to be adjusted to
accommodate for this. X86 calls context_saved() before
schedule_tail() and has no need for IRQs to be disabled after
__context_switch() returned. Otoh some roughly equivalent stuff
ARM does in ctxt_switch_{from,to}() is being done in
__context_switch() on x86 (and in the context here the restore
parts seem to be of most interest) - maybe the call to
context_saved() could be deferred on ARM until after IRQs got


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.