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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.


Badness in send_IPI_mask_bitmask at arch/i386/kernel/smp.c:168
 [<c0103cd7>] dump_stack+0x17/0x20
 [<c0112286>] send_IPI_mask_bitmask+0x86/0x90
 [<c0112689>] smp_send_reschedule+0x19/0x20
 [<c0117e9b>] resched_task+0x6b/0x90
 [<c01186cb>] try_to_wake_up+0x2db/0x310
 [<c011872a>] wake_up_state+0xa/0x10
 [<c012832b>] signal_wake_up+0x2b/0x40
 [<c0128be0>] __group_complete_signal+0x210/0x250
 [<c0128cb3>] __group_send_sig_info+0x93/0xd0
 [<c0129561>] do_notify_parent+0xe1/0x1c0
 [<c01206b6>] exit_notify+0x366/0x830
 [<c0120e14>] do_exit+0x294/0x3a0
 [<c012b5ef>] sys_reboot+0xcf/0x160
 [<c0102ded>] syscall_call+0x7/0xb


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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux