All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>, Jan Beulich <JBeulich@suse.com>
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Denys Drozdov <denys.drozdov@globallogic.com>,
	xen-devel@lists.xen.org
Subject: Re: [PATCH] xen/arm: Fix rtds scheduler for arm
Date: Mon, 02 Feb 2015 12:59:35 +0000	[thread overview]
Message-ID: <54CF74B7.1050307@linaro.org> (raw)
In-Reply-To: <1422879400.18204.6.camel@citrix.com>

On 02/02/15 12:16, Ian Campbell wrote:
> On Mon, 2015-02-02 at 11:40 +0000, Jan Beulich wrote:
>>>>> On 02.02.15 at 12:14, <Ian.Campbell@citrix.com> 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.

We have some part of the code which may inject an interrupt during
context switch.
For instance the timer may inject an IRQ as long as it has not been
disabled. Same when the timer is restored.

The former may result to inject an interrupt to the wrong vCPU.

Regards,

-- 
Julien Grall

  reply	other threads:[~2015-02-02 12:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-30 12:30 [PATCH] xen/arm: Fix rtds scheduler for arm Denis Drozdov
2015-01-30 12:38 ` Jan Beulich
2015-01-30 15:40   ` Denis Drozdov
2015-01-30 15:46     ` Julien Grall
2015-01-30 15:56       ` Andrew Cooper
2015-01-30 16:10         ` Julien Grall
2015-01-30 16:19           ` Denys Drozdov
2015-01-30 16:29             ` Julien Grall
2015-01-31 10:50             ` Ian Campbell
2015-02-02 10:49               ` Denys Drozdov
2015-02-02 11:14                 ` Ian Campbell
2015-02-02 11:40                   ` Jan Beulich
2015-02-02 12:16                     ` Ian Campbell
2015-02-02 12:59                       ` Julien Grall [this message]
2015-02-02 13:06                         ` Ian Campbell
2015-02-04 15:04                         ` Stefano Stabellini
2015-02-04 15:09                           ` Ian Campbell
2015-02-02 13:07                       ` Jan Beulich
2015-02-02 18:03                         ` Denis Drozdov
2015-02-04 15:13                           ` Ian Campbell
2015-02-04 16:19                             ` Dario Faggioli
2015-02-04 16:45                             ` Julien Grall
2015-02-04 17:13                               ` [PATCH] xen/arm: Call context_saved() with interrupts enabled during context switch Denis Drozdov
2015-02-05 12:48                                 ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54CF74B7.1050307@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=denys.drozdov@globallogic.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.