Thread (29 messages) 29 messages, 7 authors, 2013-05-11

[PATCH -v8 01/11] CPU hotplug: Provide a generic helper to disable/enable CPU hotplug

From: Rafael J. Wysocki <hidden>
Date: 2013-05-10 11:03:29
Also in: lkml, stable

On Thursday, May 09, 2013 03:01:21 PM Andrew Morton wrote:
On Tue,  7 May 2013 09:39:45 -0500 Robin Holt [off-list ref] wrote:
quoted
From: "Srivatsa S. Bhat" <redacted>

There are instances in the kernel where we would like to disable
CPU hotplug (from sysfs) during some important operation. Today
the freezer code depends on this and the code to do it was kinda
tailor-made for that.

Restructure the code and make it generic enough to be useful for
other usecases too.

...
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -141,6 +141,8 @@ static inline void unregister_cpu_notifier(struct notifier_block *nb)
 }
 #endif
 
+extern void cpu_hotplug_disable(void);
+extern void cpu_hotplug_enable(void);
 int cpu_up(unsigned int cpu);
 void notify_cpu_starting(unsigned int cpu);
 extern void cpu_maps_update_begin(void);
@@ -148,6 +150,7 @@ extern void cpu_maps_update_done(void);
 
 #else	/* CONFIG_SMP */
 
+#define cpu_hotplug_disable()	do { } while (0)
 #define cpu_notifier(fn, pri)	do { (void)(fn); } while (0)
 
Breaks alpha allmodconfig because cpu_hotplug_disable() is absent from
vmlinux.

cpu_hotplug_disable() doesn't get compiled unless we've defined
CONFIG_PM_SLEEP_SMP.  I cannot begin to imagine what the logic is
behind that!
I suppose it was only used by suspend/hibernate code paths when this was
introduced.

Thanks,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help