From: tip-bot for Lianwei Wang <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: tglx@linutronix.de, hpa@zytor.com, linux-kernel@vger.kernel.org,
lianwei.wang@gmail.com, mingo@kernel.org
Subject: [tip:smp/hotplug] cpu/hotplug: Handle unbalanced hotplug enable/disable
Date: Fri, 2 Sep 2016 11:43:03 -0700 [thread overview]
Message-ID: <tip-01b41159066531cc8d664362ff0cd89dd137bbfa@git.kernel.org> (raw)
In-Reply-To: <1465541008-12476-1-git-send-email-lianwei.wang@gmail.com>
Commit-ID: 01b41159066531cc8d664362ff0cd89dd137bbfa
Gitweb: http://git.kernel.org/tip/01b41159066531cc8d664362ff0cd89dd137bbfa
Author: Lianwei Wang <lianwei.wang@gmail.com>
AuthorDate: Thu, 9 Jun 2016 23:43:28 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 2 Sep 2016 20:37:17 +0200
cpu/hotplug: Handle unbalanced hotplug enable/disable
When cpu_hotplug_enable() is called unbalanced w/o a preceeding
cpu_hotplug_disable() the code emits a warning, but happily decrements the
disabled counter. This causes the next operations to malfunction.
Prevent the decrement and just emit a warning.
Signed-off-by: Lianwei Wang <lianwei.wang@gmail.com>
Cc: peterz@infradead.org
Cc: linux-pm@vger.kernel.org
Cc: oleg@redhat.com
Link: http://lkml.kernel.org/r/1465541008-12476-1-git-send-email-lianwei.wang@gmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/cpu.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/kernel/cpu.c b/kernel/cpu.c
index c506485..c90f839 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -331,10 +331,17 @@ void cpu_hotplug_disable(void)
}
EXPORT_SYMBOL_GPL(cpu_hotplug_disable);
+static void __cpu_hotplug_enable(void)
+{
+ if (WARN_ONCE(!cpu_hotplug_disabled, "Unbalanced cpu hotplug enable\n"))
+ return;
+ cpu_hotplug_disabled--;
+}
+
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);
@@ -1160,7 +1167,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;
prev parent reply other threads:[~2016-09-02 18:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
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-bot for Lianwei Wang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-01b41159066531cc8d664362ff0cd89dd137bbfa@git.kernel.org \
--to=tipbot@zytor.com \
--cc=hpa@zytor.com \
--cc=lianwei.wang@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.