xen/18471-cpu-hotplug.patch

28 lines
903 B
Diff

# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1221212419 -3600
# Node ID 34aed15ba9df804ce037c5f691a9b11058fff2b9
# Parent f125e481d8b65b81dd794d60a99fb0b823eaee2c
x86, cpu hotplug: flush softirq work when going offline
From: Haitao Shan <haitao.shan@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Index: xen-3.3.1-testing/xen/arch/x86/domain.c
===================================================================
--- xen-3.3.1-testing.orig/xen/arch/x86/domain.c
+++ xen-3.3.1-testing/xen/arch/x86/domain.c
@@ -86,6 +86,12 @@ static void default_idle(void)
static void play_dead(void)
{
+ /*
+ * Flush pending softirqs if any. They can be queued up before this CPU
+ * was taken out of cpu_online_map in __cpu_disable().
+ */
+ do_softirq();
+
/* This must be done before dead CPU ack */
cpu_exit_clear();
hvm_cpu_down();