From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Gleixner Subject: Re: [patch V2 08/10] timer: Implement the hierarchical pull model Date: Wed, 19 Apr 2017 11:43:01 +0200 (CEST) Message-ID: References: <20170418111102.490432548@linutronix.de> <20170418111401.016420305@linutronix.de> <20170419090914.qdiamqwzro34b53d@hirez.programming.kicks-ass.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Return-path: Received: from Galois.linutronix.de ([146.0.238.70]:55785 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761859AbdDSJnG (ORCPT ); Wed, 19 Apr 2017 05:43:06 -0400 In-Reply-To: <20170419090914.qdiamqwzro34b53d@hirez.programming.kicks-ass.net> Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Peter Zijlstra Cc: LKML , John Stultz , Eric Dumazet , Anna-Maria Gleixner , "Rafael J. Wysocki" , linux-pm@vger.kernel.org, Arjan van de Ven , "Paul E. McKenney" , Frederic Weisbecker , Rik van Riel 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