diff options
author | Gautham R Shenoy <ego@in.ibm.com> | 2008-03-10 17:44:03 +0530 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 17:40:58 +0200 |
commit | f694010185c429629ad5a65245da08103e611852 (patch) | |
tree | 2b430e62c2fcf59c25cf041ba5a10f5cb5e0efec | |
parent | 12db648c1518b2627cc983199a97ec6f5d6a1de2 (diff) | |
download | kernel_samsung_smdk4412-f694010185c429629ad5a65245da08103e611852.zip kernel_samsung_smdk4412-f694010185c429629ad5a65245da08103e611852.tar.gz kernel_samsung_smdk4412-f694010185c429629ad5a65245da08103e611852.tar.bz2 |
x86: Don't send RESCHEDULE_VECTOR to offlined cpus
In the x86 native_smp_send_reschedule_function(), don't send the IPI if the
cpu has gone offline already. Warn nevertheless!!
Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/smp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 88c1e51..16c52aa 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -118,7 +118,10 @@ */ static void native_smp_send_reschedule(int cpu) { - WARN_ON(cpu_is_offline(cpu)); + if (unlikely(cpu_is_offline(cpu))) { + WARN_ON(1); + return; + } send_IPI_mask(cpumask_of_cpu(cpu), RESCHEDULE_VECTOR); } |