From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753913Ab0A0Jnq (ORCPT ); Wed, 27 Jan 2010 04:43:46 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753847Ab0A0Jnp (ORCPT ); Wed, 27 Jan 2010 04:43:45 -0500 Received: from one.firstfloor.org ([213.235.205.2]:43022 "EHLO one.firstfloor.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753827Ab0A0Jno (ORCPT ); Wed, 27 Jan 2010 04:43:44 -0500 Date: Wed, 27 Jan 2010 10:43:36 +0100 From: Andi Kleen To: "Paul E. McKenney" Cc: Andi Kleen , linux-kernel@vger.kernel.org, mingo@elte.hu, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@polymtl.ca, josh@joshtriplett.org, dvhltc@us.ibm.com, niv@us.ibm.com, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, Valdis.Kletnieks@vt.edu, dhowells@redhat.com Subject: Re: [PATCH RFC tip/core/rcu] accelerate grace period if last non-dynticked CPU Message-ID: <20100127094336.GA12522@basil.fritz.box> References: <20100125034816.GA14043@linux.vnet.ibm.com> <873a1sft9q.fsf@basil.nowhere.org> <20100127052050.GC6807@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100127052050.GC6807@linux.vnet.ibm.com> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 26, 2010 at 09:20:50PM -0800, Paul E. McKenney wrote: > On Tue, Jan 26, 2010 at 10:30:57PM +0100, Andi Kleen wrote: > > "Paul E. McKenney" writes: > > > > Kind of offtopic to the original patch, but I couldn't > > resist... > > > > > +config RCU_FAST_NO_HZ > > > + bool "Accelerate last non-dyntick-idle CPU's grace periods" > > > + depends on TREE_RCU && NO_HZ && SMP > > > > Having such a thing as a config option doesn't really make > > any sense to me. Who would want to recompile their kernel > > to enable/disable this? If anything it should be runtime, or better > > just unconditionally on. > > It adds significant overhead on entry to dyntick-idle mode for systems > with large numbers of CPUs. :-( Can't you simply check that at runtime then? if (num_possible_cpus() > 20) ... BTW the new small is large. This years high end desktop PC will come with upto 12 CPU threads. It would likely be challenging to find a good number for 20 that holds up with the future. Or better perhaps have some threshold that you don't do it that often, or only do it when you expect to be idle for a long enough time that the CPU can enter deeper idle states (I higher idle states some more wakeups typically don't matter that much) The cpufreq/cstate governour have a reasonable good idea now how "idle" the system is and will be. Maybe you can reuse that information somehow. -Andi -- ak@linux.intel.com -- Speaking for myself only.