summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGautham R Shenoy <ego@in.ibm.com>2008-03-10 17:44:03 +0530
committerIngo Molnar <mingo@elte.hu>2008-04-17 17:40:58 +0200
commitf694010185c429629ad5a65245da08103e611852 (patch)
tree2b430e62c2fcf59c25cf041ba5a10f5cb5e0efec
parent12db648c1518b2627cc983199a97ec6f5d6a1de2 (diff)
downloadlinux-f694010185c429629ad5a65245da08103e611852.tar.gz
linux-f694010185c429629ad5a65245da08103e611852.tar.bz2
linux-f694010185c429629ad5a65245da08103e611852.zip
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.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index 88c1e518a203..16c52aaaca35 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);
}