Re: smp_send_stop() and disable_local_APIC()

Eric W. Biederman
2001-05-05T14:59:16Z

"Matt D. Robinson" <yakker@alacritech.com> writes:

> It's an SMP (and only when your system crashes on a CPU other
> than 0) problem. I did some more checking of this to verify the
> specifics of the behavior. Thanks for the sarcasm, though. :)

O.k. That makes perfect sense then. See below.

> All I wanted was clarification as to why it was added in the first
> place, and whether there was a better way around the scenario.
> I think Ingo added the code, but I never heard back from him.
> Thanks for the response.

Welcome. Linux attempts to properly shutdown the apics when we are
shutting down, and part of that is returning the apics to the mode
they were before we got control. To do that you need to disable every
cpu but the bootstrap processor, and return the bootstrap processor to
either virtual wire mode or pic_mode. So of course it will be the
only cpu getting interrupts because we are in legacy mode.

I would say it probably makes sense to add an additional call.
smp_send_panic_stop that does exactly what you need instead of what is
needed on the normal shutdown path.

Eric