[PATCH 07/32] cpuset: Set up interface for nohz flag
fweisbec at gmail.com
Tue Mar 27 11:56:32 UTC 2012
On Tue, Mar 27, 2012 at 01:53:03PM +0200, Mike Galbraith wrote:
> On Tue, 2012-03-27 at 13:22 +0200, Frederic Weisbecker wrote:
> > On Thu, Mar 22, 2012 at 05:03:53AM +0100, Mike Galbraith wrote:
> > > On Wed, 2012-03-21 at 09:50 -0500, Christoph Lameter wrote:
> > > > On Wed, 21 Mar 2012, Frederic Weisbecker wrote:
> > > >
> > > > > Prepare the interface to implement the nohz cpuset flag.
> > > > > This flag, once set, will tell the system to try to
> > > > > shutdown the periodic timer tick when possible.
> > > > >
> > > > > We use here a per cpu refcounter. As long as a CPU
> > > > > is contained into at least one cpuset that has the
> > > > > nohz flag set, it is part of the set of CPUs that
> > > > > run into adaptive nohz mode.
> > > >
> > > > What are the drawbacks for nohz?
> > >
> > > For nohz in general, latency. To make it at all usable for rt loads, I
> > > had to make isolated cores immune from playing load balancer. Even so,
> > > to achieve target latency, I had to hack up cpusets to let the user
> > > dynamically switch nohz off for specified sets (and the tick has to be
> > > skewed in both cases or you can just forget it). With nohz, I can't
> > > quite achieve 30us jitter target, turn it off, I get single digit. Out
> > > of the current box, triple digit for simple synchronized frame timers +
> > > compute worker-bees load on 64 cores. Patch 4 probably helps that, but
> > > don't _think_ it'll fix it. If you (currently) ever become balancer,
> > > you're latency target is smoking wreckage.
> > But this is because of waking up from CPU low power mode, right? If so
> > then busy tickless shouldn't be concerned. We can certainly have
> > configurations where the tick is not stopped in idle but can be elsewhere.
> Boxen are restricted to C1 (even at that Q6600 _sucks rocks_, but more
> modern CPUs don't). ATM, ticked is cheaper, I can't get there from here
> with nohz.
Ok but there is a difference between idle nohz and busy nohz.
Idle nohz may let the CPU enter into low power mode. busy nohz
(implemented by this patchset) doesn't because it stops the tick
when the CPU runs.
More information about the linaro-sched-sig