summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2009-05-30 14:59:08 +0000
committeradrian <adrian@FreeBSD.org>2009-05-30 14:59:08 +0000
commitd03ca3acc6b07da900f12523e3d2560f84b538c4 (patch)
tree3fb6e1746f088c149873c3eccaba84ad69dda518
parent9b24b65ab8e5bca026f80f6e363f174060425fc6 (diff)
downloadFreeBSD-src-d03ca3acc6b07da900f12523e3d2560f84b538c4.zip
FreeBSD-src-d03ca3acc6b07da900f12523e3d2560f84b538c4.tar.gz
Don't schedule a CALL_FUNCTION_VECTOR software IPI if the IPI was signaled
via the bitmap (and thus sent via RESCHEDULE_VECTOR.)
-rw-r--r--sys/i386/xen/mp_machdep.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/i386/xen/mp_machdep.c b/sys/i386/xen/mp_machdep.c
index 6b4be60..ef1ef12 100644
--- a/sys/i386/xen/mp_machdep.c
+++ b/sys/i386/xen/mp_machdep.c
@@ -1132,10 +1132,10 @@ ipi_selected(cpumask_t cpus, u_int ipi)
ipi_pcpu(cpu, RESCHEDULE_VECTOR);
continue;
+ } else {
+ KASSERT(call_data != NULL, ("call_data not set"));
+ ipi_pcpu(cpu, CALL_FUNCTION_VECTOR);
}
-
- KASSERT(call_data != NULL, ("call_data not set"));
- ipi_pcpu(cpu, CALL_FUNCTION_VECTOR);
}
}
OpenPOWER on IntegriCloud