[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-cvs
Subject:    [Xen-changelog] Fix SMP boot for kernels without CONFIG_HOTPLUG_CPU.
From:       Xen patchbot-unstable <patchbot-unstable () lists ! xensource ! com>
Date:       2006-05-28 16:08:10
Message-ID: E1FkNoJ-0008KR-5V () xenbits ! xensource ! com
[Download RAW message or body]

# HG changeset patch
# User kaf24@firebug.cl.cam.ac.uk
# Node ID 444abe25611f151194e042539bc9c76404cfccbd
# Parent  71fa0e0d520ccd7dfe446418020e6cc199d18fe2
Fix SMP boot for kernels without CONFIG_HOTPLUG_CPU.

The function cpu_is_allowed() appears that it should return a boolean
but in fact returns zero on success and an errno on failure. Thus
rename it to the more vague cpu_up_check(), in line with its return
value and thge fact it has unspecified side effects.

Fix the macro definition of cpu_up_check() when building non-hotplug
kernel to return zero rather than one (which always failed secondary
cpu bringup!).

Signed-off-by: Keir Fraser <keir@xensource.com>
---
 linux-2.6-xen-sparse/drivers/xen/core/cpu_hotplug.c |    2 +-
 linux-2.6-xen-sparse/drivers/xen/core/smpboot.c     |    2 +-
 linux-2.6-xen-sparse/include/xen/cpu_hotplug.h      |    4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff -r 71fa0e0d520c -r 444abe25611f linux-2.6-xen-sparse/drivers/xen/core/cpu_hotplug.c
--- a/linux-2.6-xen-sparse/drivers/xen/core/cpu_hotplug.c	Sat May 27 10:13:27 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/core/cpu_hotplug.c	Sun May 28 09:46:30 2006 +0100
@@ -160,7 +160,7 @@ void smp_resume(void)
 		vcpu_hotplug(cpu);
 }
 
-int cpu_up_is_allowed(unsigned int cpu)
+int cpu_up_check(unsigned int cpu)
 {
 	int rc = 0;
 
diff -r 71fa0e0d520c -r 444abe25611f linux-2.6-xen-sparse/drivers/xen/core/smpboot.c
--- a/linux-2.6-xen-sparse/drivers/xen/core/smpboot.c	Sat May 27 10:13:27 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/core/smpboot.c	Sun May 28 09:46:30 2006 +0100
@@ -400,7 +400,7 @@ int __devinit __cpu_up(unsigned int cpu)
 {
 	int rc;
 
-	rc = cpu_up_is_allowed(cpu);
+	rc = cpu_up_check(cpu);
 	if (rc)
 		return rc;
 
diff -r 71fa0e0d520c -r 444abe25611f linux-2.6-xen-sparse/include/xen/cpu_hotplug.h
--- a/linux-2.6-xen-sparse/include/xen/cpu_hotplug.h	Sat May 27 10:13:27 2006 +0100
+++ b/linux-2.6-xen-sparse/include/xen/cpu_hotplug.h	Sun May 28 09:46:30 2006 +0100
@@ -13,14 +13,14 @@ void cpu_initialize_context(unsigned int
 #define cpu_initialize_context(cpu)	((void)0)
 #endif
 
-int cpu_up_is_allowed(unsigned int cpu);
+int cpu_up_check(unsigned int cpu);
 void init_xenbus_allowed_cpumask(void);
 int smp_suspend(void);
 void smp_resume(void);
 
 #else /* !defined(CONFIG_HOTPLUG_CPU) */
 
-#define cpu_up_is_allowed(cpu)		(1)
+#define cpu_up_check(cpu)		(0)
 #define init_xenbus_allowed_cpumask()	((void)0)
 
 static inline int smp_suspend(void)

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic