Re: [PATCH] i386/x86_64: Don't IPI to offline cpus on shutdown

From: Eric W. Biederman
Date: Sun Nov 27 2005 - 09:15:22 EST


Andi Kleen <ak@xxxxxxx> writes:

> On Sun, Nov 27, 2005 at 02:05:45AM -0800, Zwane Mwaikambo wrote:
>> http://bugzilla.kernel.org/show_bug.cgi?id=5203
>>
>> There is a small race during SMP shutdown between the processor issuing
>> the shutdown and the other processors clearing themselves off the
>> cpu_online_map as they do this without using the normal cpu offline
>> synchronisation. To avoid this we should wait for all the other processors
>> to clear their corresponding bits and then proceed. This way we can safely
>> make the cpu_online test in smp_send_reschedule, it's safe during normal
>> runtime as smp_send_reschedule is called with a lock held / preemption
>> disabled.
>
> Looking at the backtrace in the bug - how can sys_reboot call do_exit???
> I would say the problem is in whatever causes that. It shouldn't
> do that. sys_reboot shouldn't schedule, it's that simple.
> Your patch is just papering over that real bug.

sys_reboot in the case of halt (after everything else is done)
has directly called do_exit for years.

There are some very subtle interactions there. The one
I always remember (having found it the hard way) is that
interrupts must be left on so ctrl-alt-del still works.

This do_exit may be something similar, although I can't
think of how it could be useful.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/