[PATCH 07/41] cpuset: Set up interface for nohz flag
fweisbec at gmail.com
Wed May 9 11:02:30 UTC 2012
2012/5/9 Mike Galbraith <efault at gmx.de>:
> On Tue, 2012-05-08 at 15:45 -0500, Christoph Lameter wrote:
>> On Tue, 8 May 2012, Mike Galbraith wrote:
>> > On Tue, 2012-05-08 at 18:16 +0200, Peter Zijlstra wrote:
>> > > On Tue, 2012-05-08 at 10:57 -0500, Christoph Lameter wrote:
>> > > isolcpus is a very limited hack that adds more pain that its worth. Its
>> > > yet another mask to check and its functionality is completely available
>> > > through cpusets.
>> > Agreed.
>> How would that work? By creating cpusets that only have a single cpu in
> No, just turn load balancing off for exclusive set, domains go poof.
I don't think it's
>> > > You cannot cree multi-cpu partitions using isolcpus, you cannot
>> > > dynamically reconfigure it.
>> > Big plus for cpusets.
>> Why would you want to do anything like it? cpusets are confusing. You can
>> have a cpu be part of multiple cpusets. Which nohz setting applies for a
>> particular cpu then? If any of the cpusets have nohz set then it applies
>> to the cpu? And thus someone in a cpuset that does not has nohz set will
>> find that a cpu will have nohz functionality?
> nohz has to be at least an exclusive set property.
>> Its not a good match for this. You would want a per cpu attribute for
> Or per cpuset, which can be the same thing as per cpu if you want.
>> > > And on the scheduler side cpusets doesn't add runtime overhead to normal
>> > > things, only sched_setaffinity() and a few other rare operations get
>> > > slightly more expensive. And it allows to reduce runtime overhead by
>> > > making the load-balancer domains smaller.
>> > Very big deal if you have a load that doesn't do all the performance 'i'
>> > dotting and 't' crossing it maybe could have, but ends up on a big box.
>> isolcpus are not part of load balancer domains.
> Yup, so if you have an application with an RT component, somewhat
> sensitive, needs isolation from rest of a big box, but app also has
> SCHED_OTHER components. isolcpus is a pain, everything has to be static
> and nailed to the floor. Load just works when plugged into a cpuset.
More information about the linaro-sched-sig