Re: [PATCH 06/32] nohz: Move idle ticks stats tracking out of nohz handlers

Frederic Weisbecker
2011-09-06T00:36:01Z

On Mon, Aug 29, 2011 at 04:28:08PM +0200, Peter Zijlstra wrote:
> On Mon, 2011-08-15 at 17:52 +0200, Frederic Weisbecker wrote:
> > Idle ticks time tracking is merged into nohz stop/restart
> > handlers. Pull it out into idle entry/exit handlers instead,
> > so that nohz APIs is more idle independant.
>
> Are you trying to say:
>
> Currently idle time tracking is part of the nohz state tracking,
> separate this so that we can disable the tick while we're non-idle?

Right.

>
> If so, how does idle time tracking work on a !NOHZ kernel, surely such
> things can be idle too..

In that case the tick calls account_process_tick() which delegates
to account_idle_time() if we are idle on tick.

That's also used in NOHZ kernels in fact.

In every tick we call account_process_tick(), but when the tick is stopped
we save its value in ts->idle_jiffies and when it is restarted we account
jiffies - ts->idle_jiffies.