From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: mingo@kernel.org, pjt@google.com, paul@paulmenage.org,
akpm@linux-foundation.org, rjw@sisk.pl, nacc@us.ibm.com,
paulmck@linux.vnet.ibm.com, tglx@linutronix.de,
seto.hidetoshi@jp.fujitsu.com, rob@landley.net, tj@kernel.org,
mschmidt@redhat.com, berrange@redhat.com,
nikunj@linux.vnet.ibm.com, vatsa@linux.vnet.ibm.com,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
linux-pm@vger.kernel.org
Subject: Re: [PATCH v2 0/7] CPU hotplug, cpusets: Fix issues with cpusets handling upon CPU hotplug
Date: Wed, 09 May 2012 14:42:51 +0530 [thread overview]
Message-ID: <4FAA3513.1060906@linux.vnet.ibm.com> (raw)
In-Reply-To: <1336162456.6509.63.camel@twins>
On 05/05/2012 01:44 AM, Peter Zijlstra wrote:
> On Sat, 2012-05-05 at 01:28 +0530, Srivatsa S. Bhat wrote:
>> On 05/05/2012 12:54 AM, Peter Zijlstra wrote:
>>
>>>
>>>> Documentation/cgroups/cpusets.txt | 43 +++--
>>>> include/linux/cpuset.h | 4
>>>> kernel/cpuset.c | 317 ++++++++++++++++++++++++++++---------
>>>> kernel/sched/core.c | 4
>>>> 4 files changed, 274 insertions(+), 94 deletions(-)
>>>
>>> Bah, I really hate this complexity you've created for a problem that
>>> really doesn't exist.
>>>
>>
>>
>> Doesn't exist? Well, I believe we do have a problem and a serious one
>> at that too!
>
>>> So why not fix the active mask crap?
>>
>>
>> Because I doubt if that is the right way to approach this problem.
>>
>> An updated cpu_active_mask not being the necessary and sufficient condition
>> for all scheduler related activities, is a different problem altogether, IMHO.
>
> It was the sole cause the previous, simple, patch didn't work. So fixing
> that seems like important.
>
Some thoughts on this..
First of all, why would it be reasonable to expect the scheduler to work
flawlessly with half its infrastructure (sched domains for example) in a
stale/inconsistent/outdated state?
IOW, I am finding it difficult to understand why you would consider it a bug if
the scheduler falters when cpu_active mask is up-to-date but the sched domains
are old/outdated.. Is it not expected? And hence, wouldn't it make sense to keep
the sched domains up-to-date so that the scheduler functions properly?
Also, to "fix" that, sprinkling checks for active cpu, wherever the sched domain
tree traversal is done, like:
if (!cpu_active(cpu))
/* Go out */
for_each_domain(cpu, sd) {
}
looks quite ugly/hacky to me, because, if the sched domains were up-to-date
(as they should be), then the domain traversal would automatically become a
nop since the sd pointer would have been NULL... Thus, there wouldn't be a
need for such checks.
Moreover, those checks for active cpu, if added, could also end up in hot
paths, such as schedule()..
Regards,
Srivatsa S. Bhat
prev parent reply other threads:[~2012-05-09 9:13 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-04 19:17 [PATCH v2 0/7] CPU hotplug, cpusets: Fix issues with cpusets handling upon CPU hotplug Srivatsa S. Bhat
2012-05-04 19:17 ` [PATCH v2 1/7] cpusets, hotplug: Implement cpuset tree traversal in a helper function Srivatsa S. Bhat
2012-05-04 19:18 ` [PATCH v2 2/7] cpusets, hotplug: Restructure functions that are invoked during hotplug Srivatsa S. Bhat
2012-05-04 19:18 ` [PATCH v2 3/7] cpusets: Introduce 'user_cpus_allowed' and rework the semantics of 'cpus_allowed' Srivatsa S. Bhat
2012-05-04 19:19 ` [PATCH v2 4/7] CPU hotplug, cpusets: Workout hotplug handling for cpusets Srivatsa S. Bhat
2012-05-04 19:19 ` [PATCH v2 5/7] Docs, cpusets: Update the cpuset documentation Srivatsa S. Bhat
2012-05-04 22:28 ` Rob Landley
2012-05-04 19:20 ` [PATCH v2 6/7] cpusets: Optimize the implementation of guarantee_online_cpus() Srivatsa S. Bhat
2012-05-04 19:20 ` [PATCH v2 7/7] cpusets: Remove out-dated comment about cpuset_track_online_cpus Srivatsa S. Bhat
2012-05-04 19:24 ` [PATCH v2 0/7] CPU hotplug, cpusets: Fix issues with cpusets handling upon CPU hotplug Peter Zijlstra
2012-05-04 19:58 ` Srivatsa S. Bhat
2012-05-04 20:14 ` Peter Zijlstra
2012-05-04 20:28 ` Peter Zijlstra
2012-05-04 20:49 ` Nishanth Aravamudan
2012-05-04 21:01 ` Peter Zijlstra
2012-05-04 21:27 ` Nishanth Aravamudan
2012-05-04 21:32 ` Peter Zijlstra
2012-05-04 21:34 ` Peter Zijlstra
2012-05-04 21:57 ` Nishanth Aravamudan
2012-05-04 21:38 ` Peter Zijlstra
2012-05-04 20:46 ` Nishanth Aravamudan
2012-05-04 20:56 ` Peter Zijlstra
2012-05-04 21:30 ` Nishanth Aravamudan
2012-05-04 21:44 ` Peter Zijlstra
2012-05-05 15:24 ` Alan Stern
2012-05-05 17:44 ` Paul E. McKenney
2012-05-05 18:56 ` Rafael J. Wysocki
2012-05-08 13:07 ` Daniel P. Berrange
2012-05-05 4:39 ` Mike Galbraith
2012-05-05 17:15 ` Srivatsa S. Bhat
2012-05-07 15:26 ` Jiang Liu
2012-05-09 9:12 ` Srivatsa S. Bhat [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=4FAA3513.1060906@linux.vnet.ibm.com \
--to=srivatsa.bhat@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=berrange@redhat.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mschmidt@redhat.com \
--cc=nacc@us.ibm.com \
--cc=nikunj@linux.vnet.ibm.com \
--cc=paul@paulmenage.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=pjt@google.com \
--cc=rjw@sisk.pl \
--cc=rob@landley.net \
--cc=seto.hidetoshi@jp.fujitsu.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox