Re: [PATCH 07/32] cpuset: Set up interface for nohz flag

From: Mike Galbraith
Date: Tue Mar 27 2012 - 07:53:17 EST


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.

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/