All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][BUG 347] sparse: fix x86_64 domU SMP cpu_present map
@ 2005-11-01 20:16 Ryan Harper
  0 siblings, 0 replies; only message in thread
From: Ryan Harper @ 2005-11-01 20:16 UTC (permalink / raw)
  To: xen-devel

Changeset 7419 introduced a check for DOM0 before setting a bit in the
cpu_present map.  This prevents domU SMP kernels without HOTPLUG_CPU
support from booting.  Secondary cpus need to be present and online
before init/main.c:do_basic_setup() calls init_workqueues() (which
initializes per-cpu workqueues).

Without this patch, non HOTPLUG_CPU enabled kernels hang when flushing
cpu workqueues as the spinlock in the structure is never initialized (it
has a default value of zero which means the lock has been acquired on 
x86).

I've tested this patch on x86_64 SMP, x86_32 SMP, with and without
HOTPLUG_CPU set.  See bugzilla [1]#347 for more details.

Please apply.

1. http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=347

-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253
ryanh@us.ibm.com

diffstat output:
 smpboot.c |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
---
diff -r ae2e13795c63 linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c	Tue Nov  1 18:13:06 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/smpboot.c	Tue Nov  1 14:15:08 2005
@@ -236,8 +236,7 @@
 		make_page_readonly((void *)cpu_gdt_descr[cpu].address);
 
 		cpu_set(cpu, cpu_possible_map);
-		if (xen_start_info->flags & SIF_INITDOMAIN)
-			cpu_set(cpu, cpu_present_map);
+		cpu_set(cpu, cpu_present_map);
 
 		vcpu_prepare(cpu);
 	}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-11-01 20:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-01 20:16 [PATCH][BUG 347] sparse: fix x86_64 domU SMP cpu_present map Ryan Harper

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.