diff options
author | adrian <adrian@FreeBSD.org> | 2009-05-30 14:59:08 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2009-05-30 14:59:08 +0000 |
commit | d03ca3acc6b07da900f12523e3d2560f84b538c4 (patch) | |
tree | 3fb6e1746f088c149873c3eccaba84ad69dda518 | |
parent | 9b24b65ab8e5bca026f80f6e363f174060425fc6 (diff) | |
download | FreeBSD-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.c | 6 |
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); } } |