public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@sgi.com>
To: Zwane Mwaikambo <zwane@arm.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [RFC] Scheduler hooks to support separate ia64 MCA/INIT stacks
Date: Sat, 10 Sep 2005 20:48:45 +1000	[thread overview]
Message-ID: <23761.1126349325@ocs3.ocs.com.au> (raw)
In-Reply-To: Your message of "Fri, 09 Sep 2005 00:17:44 MST." <Pine.LNX.4.61.0509082356390.978@montezuma.fsmlabs.com>

On Fri, 9 Sep 2005 00:17:44 -0700 (PDT), 
Zwane Mwaikambo <zwane@arm.linux.org.uk> wrote:
>On Fri, 9 Sep 2005, Keith Owens wrote:
>
>> The new ia64 MCA/INIT handlers[1] (think of them as super NMI) run on
>> separate stacks.  99% of the changes for these new handlers is ia64
>> only code, however they need a couple of scheduler hooks to support
>> these extra stacks.  The complete patch set will be coming through the
>> ia64 tree, this RFC covers just the scheduler changes, so they do not
>> come as a surprise when the ia64 tree is rolled up.
>> 
>> [1] http://marc.theaimsgroup.com/?l=linux-ia64&m=112537827113545&w=2
>>     and the following patches.
>
>Thanks that gave a lot of background.
>
>> This patch adds two small hooks that can be safely called from MCA/INIT
>> context.  If other architectures want to support NMI on separate stacks
>> then they can also use these functions.
>
>Well x86_64 already does this with NMI being setup as ISTs, the difference 
>is that there we use a register to access current (via PDA/%gs). I might 
>have missed this in the URL you posted, but how come IA64 can't do this 
>via r13?

Because of this possible event sequence: user space -> kernel -> SAL ->
PAL -> physical mode -> MCA/INIT.  When MCA/INIT is delivered in
physical mode, the contents of all registers are undefined.  PAL can
use r13 for its own work, as long as r13 is restored before returning
to the kernel.  MCA/INIT breaks the assumption that r13 is always valid.


      reply	other threads:[~2005-09-10 10:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-09  2:10 [RFC] Scheduler hooks to support separate ia64 MCA/INIT stacks Keith Owens
2005-09-09  7:17 ` Zwane Mwaikambo
2005-09-10 10:48   ` Keith Owens [this message]

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=23761.1126349325@ocs3.ocs.com.au \
    --to=kaos@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=zwane@arm.linux.org.uk \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox