[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FB2CDAD.4020306@linux.vnet.ibm.com>
Date: Wed, 16 May 2012 03:12:05 +0530
From: "Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>
To: David Rientjes <rientjes@...gle.com>
CC: Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Nishanth Aravamudan <nacc@...ux.vnet.ibm.com>,
mingo@...nel.org, pjt@...gle.com, paul@...lmenage.org,
akpm@...ux-foundation.org, rjw@...k.pl, nacc@...ibm.com,
paulmck@...ux.vnet.ibm.com, tglx@...utronix.de,
seto.hidetoshi@...fujitsu.com, tj@...nel.org, mschmidt@...hat.com,
berrange@...hat.com, nikunj@...ux.vnet.ibm.com,
vatsa@...ux.vnet.ibm.com, liuj97@...il.com,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH v3 5/5] cpusets, suspend: Save and restore cpusets during
suspend/resume
On 05/16/2012 02:54 AM, David Rientjes wrote:
> On Tue, 15 May 2012, Peter Zijlstra wrote:
>
>>> Why can't we leave cpuset.cpus unaltered for all cpusets during suspend?
>>
>> We can, that's what Srivatsa is going to make. The only thing I object
>> to is the !suspend hotplug case.
>>
>
> Srivatsa is going to do that in another patchset in addition to this one?
Nope. This v3 itself is the full implementation.
> We shouldn't need to store any old cpumask at all, just allow cpuset.cpus
> to be a superset of online cpus during s/r and don't touch cpusets at all
> since the cpus, as you said, are guaranteed to come back.
>
Oh, I am really sorry to say this, but this method has got 'history' ;-)
(Argh, I really should have put pointers to v1 and v2 in patch 0/5...)
What you are suggesting was precisely the v1 of this patchset, which went
upstream as commit 8f2f748b06562 (CPU hotplug, cpusets, suspend: Don't touch
cpusets during suspend/resume).
It got reverted due to a nasty suspend hang in some corner case, where the
sched domains not being up-to-date got the scheduler confused.
Here is the thread with that discussion:
http://thread.gmane.org/gmane.linux.kernel/1262802/focus=1286289
As Peter suggested, I'll try to fix the issues at the 2 places that I found
where the scheduler gets confused despite the cpu_active mask being up-to-date.
But, I really want to avoid that scheduler fix and this cpuset fix from
being tied together, for the fear that until we root-cause and fix all
scheduler bugs related to cpu_active mask, we can never get cpusets fixed
once and for all for suspend/resume. So, this patchset does an explicit
save and restore to be sure, and so that we don't depend on some other/unknown
factors to make this work reliably.
Regards,
Srivatsa S. Bhat
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists