RE: Multiple Processors on OS_MCA

From: Luck, Tony <>
Date: 2004-08-04 02:32:29
>2.6.7 kernel/mca_asm.S serializes processors at the entry and exit of
>the OS_MCA with a spinloop, hence makes sure only one 
>processor performs the OS_MCA at a time.
>A processor toggles the spinloop var before exiting OS_MCA so that
>another processor spinning on the entry can proceed to OS_MCA.

That wasn't intended to be a final solution ... just a temporary fix
to make sure that two processors couldn't enter the kernel at the
same time (which would lead to chaos in the current implementation
because we only have one block of memory declared to save registers,
use a stack etc.).

>My question is about the SAL behavior (or OS_MCA behavior) on multiple
>processors returnings to SAL after OS_MCA. 
>Here's a typical OS_MCA snapshot after global events; the first
>processor just returns to SAL w/ IA64_MCA_COLD_BOOT, a second processor
>proceeds to OS_MCA, and other processors are still spinning at the
>In this scenario, does SAL just cold boot the system on the first
>processor's return, or wait for all processors that were sent to OS_MCA
>to return after they all completed OS_MCA? 
>If SAL doesn't do the wait, does OS_MCA need to synchronize the
>processors on exit so that they all complete OS_MCA in sequence before
>returning to SAL?

I would expect that when the first cpu returns to SAL with the COLD_BOOT
request, that the system will be rebooted right away ... but I suppose
it might be SAL implementation dependent.

To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Tue Aug 3 12:40:07 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:29 EST