With the following patch, the four cpu hotplug patches by
Gautham R Shenoy boot successfully on my sn2_defconfig ia64
SN2 Altix system.
This patch moves the cpu_hotplug_init() code outside of the
#ifdef CONFIG_HOTPLUG_CPU code.
I will confess to being confused however as to the best way
to handle this. Having "cpu_hotplug_init" be a piece of code
that has to execute whether or not CONFIG_HOTPLUG_CPU is
enabled doesn't seem right.
Signed-off-by: Paul Jackson <[email protected]>
---
include/linux/cpu.h | 3 +--
kernel/cpu.c | 4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
--- 2.6.23-mm1.orig/include/linux/cpu.h 2007-10-17 03:59:59.529623639 -0700
+++ 2.6.23-mm1/include/linux/cpu.h 2007-10-17 04:03:56.257223754 -0700
@@ -83,6 +83,7 @@ static inline void unregister_cpu_notifi
#endif /* CONFIG_SMP */
extern struct sysdev_class cpu_sysdev_class;
+extern void cpu_hotplug_init(void);
#ifdef CONFIG_HOTPLUG_CPU
/* Stop CPUs going up and down. */
@@ -97,7 +98,6 @@ static inline void cpuhotplug_mutex_unlo
mutex_unlock(cpu_hp_mutex);
}
-extern void cpu_hotplug_init(void);
extern void get_online_cpus(void);
extern void put_online_cpus(void);
#define hotcpu_notifier(fn, pri) { \
@@ -117,7 +117,6 @@ static inline void cpuhotplug_mutex_lock
static inline void cpuhotplug_mutex_unlock(struct mutex *cpu_hp_mutex)
{ }
-#define cpu_hotplug_init() do { } while (0)
#define get_online_cpus() do { } while (0)
#define put_online_cpus() do { } while (0)
#define hotcpu_notifier(fn, pri) do { (void)(fn); } while (0)
--- 2.6.23-mm1.orig/kernel/cpu.c 2007-10-17 03:59:59.873628872 -0700
+++ 2.6.23-mm1/kernel/cpu.c 2007-10-17 04:04:52.522079165 -0700
@@ -38,8 +38,6 @@ static struct {
#define writer_exists() (cpu_hotplug.active_writer != NULL)
-#ifdef CONFIG_HOTPLUG_CPU
-
void __init cpu_hotplug_init(void)
{
cpu_hotplug.active_writer = NULL;
@@ -48,6 +46,8 @@ void __init cpu_hotplug_init(void)
init_completion(&cpu_hotplug.readers_done);
}
+#ifdef CONFIG_HOTPLUG_CPU
+
void get_online_cpus(void)
{
might_sleep();
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.925.600.0401
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]