From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
Alan Stern <stern@rowland.harvard.edu>,
paulmck@linux.vnet.ibm.com, Ingo Molnar <mingo@elte.hu>,
paul@paulmenage.org, tj@kernel.org, frank.rowand@am.sony.com,
pjt@google.com, tglx@linutronix.de, lizf@cn.fujitsu.com,
prashanth@linux.vnet.ibm.com, vatsa@linux.vnet.ibm.com,
linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>
Subject: Re: [PATCH 0/4] CPU hotplug, cpusets: Fix CPU online handling related to cpusets
Date: Mon, 27 Feb 2012 11:18:01 +0100 [thread overview]
Message-ID: <1330337881.11248.47.camel@twins> (raw)
In-Reply-To: <4F460D7B.1020703@linux.vnet.ibm.com>
On Thu, 2012-02-23 at 15:27 +0530, Srivatsa S. Bhat wrote:
> From: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
> Subject: CPU hotplug, cpusets, suspend: Don't touch cpusets during suspend/resume
>
> Currently, during CPU hotplug, the cpuset callbacks modify the cpusets
> to reflect the state of the system, and this handling is asymmetric.
> That is, upon CPU offline, that CPU is removed from all cpusets. However
> when it comes back online, it is put back only to the root cpuset.
>
> This gives rise to a significant problem during suspend/resume. During
> suspend, we offline all non-boot cpus and during resume we online them back.
> Which means, after a resume, all cpusets (except the root cpuset) will be
> restricted to just one single CPU (the boot cpu). But the whole point of
> suspend/resume is to restore the system to a state which is as close as
> possible to how it was before suspend.
>
> So to fix this, don't touch cpusets during suspend/resume. That is, modify
> the cpuset-related CPU hotplug callback to just ignore CPU hotplug when it
> is initiated as part of the suspend/resume sequence.
>
> Reported-by: Prashanth Nageshappa <prashanth@linux.vnet.ibm.com>
> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
> Cc: stable@vger.kernel.org
Fair enough, I'll take it and push it through sched/urgent so that it
should still make 3.4.
> ---
>
> kernel/sched/core.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 1169246..49ba9d4 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -6728,7 +6728,7 @@ int __init sched_create_sysfs_power_savings_entries(struct device *dev)
> static int cpuset_cpu_active(struct notifier_block *nfb, unsigned long action,
> void *hcpu)
> {
> - switch (action & ~CPU_TASKS_FROZEN) {
> + switch (action) {
> case CPU_ONLINE:
> case CPU_DOWN_FAILED:
> cpuset_update_active_cpus();
> @@ -6741,7 +6741,7 @@ static int cpuset_cpu_active(struct notifier_block *nfb, unsigned long action,
> static int cpuset_cpu_inactive(struct notifier_block *nfb, unsigned long action,
> void *hcpu)
> {
> - switch (action & ~CPU_TASKS_FROZEN) {
> + switch (action) {
> case CPU_DOWN_PREPARE:
> cpuset_update_active_cpus();
> return NOTIFY_OK;
>
>
>
next prev parent reply other threads:[~2012-02-27 10:18 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-07 18:55 [PATCH 0/4] CPU hotplug, cpusets: Fix CPU online handling related to cpusets Srivatsa S. Bhat
2012-02-07 18:56 ` [PATCH 1/4] CPU hotplug, cpuset: Maintain a copy of the cpus_allowed mask before CPU hotplug Srivatsa S. Bhat
2012-02-07 18:56 ` [PATCH 2/4] cpuset: Split up update_cpumask() so that its functionality can be reused Srivatsa S. Bhat
2012-02-07 18:57 ` [PATCH 3/4] cpuset: Add function to introduce CPUs to cpusets during CPU online Srivatsa S. Bhat
2012-02-07 18:57 ` [PATCH 4/4] CPU hotplug, cpusets: Differentiate the CPU online and CPU offline callbacks Srivatsa S. Bhat
2012-02-08 3:22 ` [PATCH 0/4] CPU hotplug, cpusets: Fix CPU online handling related to cpusets Peter Zijlstra
2012-02-08 6:33 ` Srivatsa S. Bhat
2012-02-09 7:57 ` Ingo Molnar
2012-02-09 8:42 ` Srivatsa S. Bhat
2012-02-09 15:11 ` Ingo Molnar
2012-02-10 15:52 ` Peter Zijlstra
2012-02-10 16:53 ` Paul E. McKenney
2012-02-10 17:34 ` Peter Zijlstra
2012-02-10 21:51 ` Alan Stern
2012-02-10 22:39 ` Rafael J. Wysocki
2012-02-11 2:07 ` Peter Zijlstra
2012-02-11 4:26 ` Srivatsa S. Bhat
2012-02-13 17:47 ` Srivatsa S. Bhat
2012-02-17 12:15 ` Srivatsa S. Bhat
2012-02-20 12:49 ` Peter Zijlstra
2012-02-20 12:59 ` Srivatsa S. Bhat
2012-02-23 9:57 ` Srivatsa S. Bhat
2012-02-24 23:24 ` Rafael J. Wysocki
2012-02-27 10:18 ` Peter Zijlstra [this message]
2012-02-27 12:09 ` [tip:sched/urgent] CPU hotplug, cpusets, suspend: Don' t touch cpusets during suspend/resume tip-bot for Srivatsa S. Bhat
2012-02-11 16:00 ` [PATCH 0/4] CPU hotplug, cpusets: Fix CPU online handling related to cpusets Paul E. McKenney
2012-02-13 17:47 ` Srivatsa S. Bhat
2012-02-13 20:39 ` Paul E. McKenney
2012-02-13 20:49 ` Srivatsa S. Bhat
2012-02-11 13:39 ` Ingo Molnar
2012-02-10 15:53 ` Peter Zijlstra
2012-02-09 16:43 ` Peter Zijlstra
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=1330337881.11248.47.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=frank.rowand@am.sony.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=mingo@elte.hu \
--cc=paul@paulmenage.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=pjt@google.com \
--cc=prashanth@linux.vnet.ibm.com \
--cc=rjw@sisk.pl \
--cc=srivatsa.bhat@linux.vnet.ibm.com \
--cc=stern@rowland.harvard.edu \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=vatsa@linux.vnet.ibm.com \
/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.