public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [patch] fix per-CPU MCA mess and make UP kernels work again
Date: Fri, 04 Feb 2005 03:00:15 +0000	[thread overview]
Message-ID: <24266.1107486015@ocs3.ocs.com.au> (raw)
In-Reply-To: <16887.1203.470842.161249@napali.hpl.hp.com>

On Thu, 3 Feb 2005 20:09:57 -0600, 
Jack Steiner <steiner@sgi.com> wrote:
>On Thu, Feb 03, 2005 at 05:48:26PM -0600, Russ Anderson wrote:
>> According to the SAL Spec, MCAs are supposed to be handled
>> one at a time.  
>
>It has been a long time since I looked, but I thought the
>spec allowed either implemention, ie. serialize OR all-at-once.
>
>Maybe I'm remembering the error handling guide but I know
>I have seen this somewhere.....

It is ambiguous.  Extracts from SAL spec.

4.1.1 says only one processor gets OS_MCA.

  When multiple processors experience machine checks simultaneously,
  SAL selects a "monarch" machine check processor to accumulate all the
  error records at the platform level and continue with the machine
  check processing. "Monarch" status is relevant only for the current
  MCA error event.

4.7.2 (5) also says only one processor.

  5. SAL selects a monarch for handling the error. All slaves
     processors in SAL_MC_RENDEZ check in their status with the SAL on
     the monarch.

But the last sentence of 4.7.2 (8) refers to multiple processors in OS
MCA.

  8. SAL finishes the MCA handling on all the processors that are in
     MCA and waits for all the processors in MCA to synchronize before
     branching to OS MCA for further processing.  Note that the
     hand-off to OS MCA from SAL MCA occurs simultaneously on all
     processors executing in SAL MCA handler.

4.7.2 (9) lets the OS choose the monarch, which implies that more than
one cpu can be in OS MCA handler.

  9. OS_MCA may choose a monarch processor to continue with error
     handling. After OS_MCA completes the error handling, the monarch
     processor wakes up all the slaves through a wake-up message as
     shown by (9) in Figure 4-4

The end of 4.7.3 also implies that OS MCA handler can be running on
multiple cpus. Note 'on all the processors'.

  When multiple processors experience machine checks simultaneously,
  SAL selects a monarch machine check processor to accumulate all the
  error records at the platform level. Once this is done, the OS_MCA
  procedure will take control of further error handling on all the
  processors that experienced the machine checks. The OS_MCA layer may
  need to implement a similar monarch processor selection for the error
  recovery phase. The operating system will be aware of which
  processors invoked the SAL_MC_RENDEZ procedure in response to the
  MC_rendezvous interrupt or the INIT signal and shall wake up those
  processors.


  parent reply	other threads:[~2005-02-04  3:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-26  2:47 [patch] fix per-CPU MCA mess and make UP kernels work again David Mosberger
2005-01-26 16:25 ` Jesse Barnes
2005-01-26 17:13 ` Russ Anderson
2005-01-26 17:48 ` David Mosberger
2005-01-26 17:53 ` Jesse Barnes
2005-01-26 18:05 ` David Mosberger
2005-01-26 18:11 ` Jesse Barnes
2005-01-26 19:01 ` Russ Anderson
2005-01-26 19:23 ` Luck, Tony
2005-01-26 20:07 ` David Mosberger
2005-01-26 21:40 ` Russ Anderson
2005-01-26 21:50 ` David Mosberger
2005-01-26 22:13 ` Luck, Tony
2005-01-26 22:16 ` David Mosberger
2005-01-26 22:19 ` Jesse Barnes
2005-01-26 22:33 ` Luck, Tony
2005-01-27  0:40 ` David Mosberger
2005-01-27  0:55 ` Luck, Tony
2005-01-28 22:54 ` Russ Anderson
2005-02-02  1:04 ` Luck, Tony
2005-02-02 20:25 ` Russ Anderson
2005-02-03 22:48 ` Luck, Tony
2005-02-03 23:48 ` Russ Anderson
2005-02-04  2:09 ` Jack Steiner
2005-02-04  3:00 ` Keith Owens [this message]
2005-02-04 16:24 ` Jack Steiner
2005-02-04 16:34 ` Russ Anderson
2005-02-06 15:58 ` Russ Anderson
2005-02-07 22:58 ` Luck, Tony

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