Re: [patch V2 08/10] timer: Implement the hierarchical pull model

From: Thomas Gleixner
Date: Wed Apr 19 2017 - 05:43:17 EST


On Wed, 19 Apr 2017, Peter Zijlstra wrote:
> > +done:
> > + raw_spin_unlock(&group->lock);
> > + return nextevt;
> > +}
>
> Would it be very onerous to rewrite that into regular loops? That avoids
> us having to think (and worry) about blowing our stack.

The issue is that this is walking a hierarchy tree (limited depth) and not
a list of groups at a particular level.

In an earlier version we checked the stack usage and it was ~128 bytes per
nest level. With 32k CPUs this ends up with maximum 5 recursions, i.e. 640
bytes. I recheck with the current implementation.

Thanks,

tglx