[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/arm: Fix rtds scheduler for arm
On Mon, 2015-02-02 at 11:40 +0000, Jan Beulich wrote: > >>> 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. I don't think it's *necessary*, but we do seem to have ended up with the context switch having that requirement today (and relying on it in several places in switch from/to (mostly to). I'm pretty sure we could rework things more along the lines of how x86 does it if needed, but it would be a non-trivial refactoring I think. > X86 calls context_saved() before > schedule_tail() and has no need for IRQs to be disabled after > __context_switch() returned. In fact from the comment ("...which may fault...") I think it requires that they are not disabled? > 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 > re-enabled? Is it allowable to have the context_saved of prev be after (most of) the state of next has been restored? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |