All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] cpu/hotplug: handle unbalanced hotplug enable/disable
@ 2016-06-10  6:43 Lianwei Wang
  2016-06-20  6:55 ` Lianwei Wang
  2016-09-02 18:43 ` [tip:smp/hotplug] cpu/hotplug: Handle " tip-bot for Lianwei Wang
  0 siblings, 2 replies; 3+ messages in thread
From: Lianwei Wang @ 2016-06-10  6:43 UTC (permalink / raw)
  To: tglx, peterz, oleg, mingo; +Cc: linux-kernel, linux-pm, Lianwei Wang

Currently it just print a warning message but did not
reset cpu_hotplug_disabled when the enable/disable is
unbalanced. The unbalanced enable/disable will lead
the cpu hotplug work abnormally.

Do nothing if an unablanced hotplug enable detected.

Signed-off-by: Lianwei Wang <lianwei.wang@gmail.com>
---
 kernel/cpu.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/kernel/cpu.c b/kernel/cpu.c
index 3e3f6e49eabb..5e26a3c64934 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -245,6 +245,14 @@ void cpu_hotplug_done(void)
 	cpuhp_lock_release();
 }
 
+static void __cpu_hotplug_enable(void)
+{
+	if (WARN_ONCE(!cpu_hotplug_disabled, "Unbalanced cpu hotplug enable\n"))
+		return;
+
+	cpu_hotplug_disabled--;
+}
+
 /*
  * Wait for currently running CPU hotplug operations to complete (if any) and
  * disable future CPU hotplug (from sysfs). The 'cpu_add_remove_lock' protects
@@ -263,7 +271,7 @@ EXPORT_SYMBOL_GPL(cpu_hotplug_disable);
 void cpu_hotplug_enable(void)
 {
 	cpu_maps_update_begin();
-	WARN_ON(--cpu_hotplug_disabled < 0);
+	__cpu_hotplug_enable();
 	cpu_maps_update_done();
 }
 EXPORT_SYMBOL_GPL(cpu_hotplug_enable);
@@ -1091,7 +1099,7 @@ void enable_nonboot_cpus(void)
 
 	/* Allow everyone to use the CPU hotplug again */
 	cpu_maps_update_begin();
-	WARN_ON(--cpu_hotplug_disabled < 0);
+	__cpu_hotplug_enable();
 	if (cpumask_empty(frozen_cpus))
 		goto out;
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-02 18:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-10  6:43 [PATCH v3] cpu/hotplug: handle unbalanced hotplug enable/disable Lianwei Wang
2016-06-20  6:55 ` Lianwei Wang
2016-09-02 18:43 ` [tip:smp/hotplug] cpu/hotplug: Handle " tip-bot for Lianwei Wang

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.