Re: [patch 13/20] timer: Switch to a non cascading wheel

From: Peter Zijlstra
Date: Thu Jun 16 2016 - 14:14:14 EST


On Thu, Jun 16, 2016 at 09:02:15AM -0700, Paul E. McKenney wrote:
> > 2) When we do that right, we can make the tick frequency a command line option
> > and just have a compiled in default.
>
> As long as there is something that tells RCU what the tick frequency
> actually is at runtime, this should not be a problem. For example,
> in rcu_implicit_dynticks_qs(), the following:
>
> rdp->rsp->jiffies_resched += 5;
>
> Would instead need to be something like:
>
> rdp->rsp->jiffies_resched += 5 * jiffies_per_tick;
>
> Changing tick frequency at runtime would be a bit more tricky, as it would
> be tough to avoid some oddball false positives during the transition.

So the 'fun' part will be frequencies with non integer factors of 1000.
Like say HZ=300. For that we'll have to keep jiffies_remainder, and
add an extra jiffy every time that rolls over.

That would make your case slightly more interesting than you really
want I suspect.