Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965676AbdGTOUB (ORCPT ); Thu, 20 Jul 2017 10:20:01 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:59314 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965638AbdGTOTr (ORCPT ); Thu, 20 Jul 2017 10:19:47 -0400 Date: Thu, 20 Jul 2017 16:19:40 +0200 From: Peter Zijlstra To: "Paul E. McKenney" Cc: "Li, Aubrey" , Thomas Gleixner , Andi Kleen , Frederic Weisbecker , Christoph Lameter , Aubrey Li , len.brown@intel.com, rjw@rjwysocki.net, tim.c.chen@linux.intel.com, arjan@linux.intel.com, yang.zhang.wz@gmail.com, x86@kernel.org, linux-kernel@vger.kernel.org, daniel.lezcano@linaro.org Subject: Re: [RFC PATCH v1 00/11] Create fast idle path for short idle periods Message-ID: <20170720141940.4vhih472if5ikdi4@hirez.programming.kicks-ass.net> References: <20170717192309.ubn5muvc3u7htuaw@hirez.programming.kicks-ass.net> <34371ef8-b8bc-d2bf-93de-3fccd6beb032@linux.intel.com> <20170718044521.GO3441@tassilo.jf.intel.com> <20170718152014.GB3981@linux.vnet.ibm.com> <20170719144827.GB3730@linux.vnet.ibm.com> <20170720125054.GN3730@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170720125054.GN3730@linux.vnet.ibm.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 752 Lines: 31 On Thu, Jul 20, 2017 at 05:50:54AM -0700, Paul E. McKenney wrote: > > > > static void cpuidle_idle_call() > > { > > rcu_idle_enter() > > ...... > > rcu_idle_exit() > > } > > > > I want > > > > static void cpuidle_idle_call() > > { > > if (tick stopped) > > rcu_idle_enter() > > ...... > > if (tick stopped) > > rcu_idle_exit() > > } > > > > Or checking tick stop can be put into rcu_idle_enter/exit > > The answer is the traditional "it depends". > > If the above change was all that you did, that would be a bug in the > case where the predicted short idle time turned out to in reality be an > indefinite idle time. Can't be, you didn't disable the tick after all, so you're guaranteed to get interrupted by the tick and try again.