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