Messages in this thread | | | Subject | Re: [PATCH 07/41] cpuset: Set up interface for nohz flag | From | Mike Galbraith <> | Date | Wed, 09 May 2012 06:21:29 +0200 |
| |
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 > them?
No, just turn load balancing off for exclusive set, domains go poof.
> > > 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 > nohz.
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.
-Mike
| |