From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753960AbbG3QWL (ORCPT ); Thu, 30 Jul 2015 12:22:11 -0400 Received: from casper.infradead.org ([85.118.1.10]:55901 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753934AbbG3QWJ (ORCPT ); Thu, 30 Jul 2015 12:22:09 -0400 Date: Thu, 30 Jul 2015 18:22:02 +0200 From: Peter Zijlstra To: "Paul E. McKenney" Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com, Alexander Gordeev Subject: Re: [PATCH tip/core/rcu 02/12] rcu: Panic if RCU tree can not accommodate all CPUs Message-ID: <20150730162202.GN25159@twins.programming.kicks-ass.net> References: <20150717223041.GA14464@linux.vnet.ibm.com> <1437172263-15466-1-git-send-email-paulmck@linux.vnet.ibm.com> <1437172263-15466-2-git-send-email-paulmck@linux.vnet.ibm.com> <20150730122835.GX19282@twins.programming.kicks-ass.net> <20150730152517.GE27280@linux.vnet.ibm.com> <20150730153251.GL25159@twins.programming.kicks-ass.net> <20150730155454.GH27280@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150730155454.GH27280@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 30, 2015 at 08:54:54AM -0700, Paul E. McKenney wrote: > Good point, and it already does, and I clearly was confused, apologies. > > So the real way to make this happen is (for example) to build > with CONFIG_RCU_FANOUT=2 and CONFIG_RCU_FANOUT_LEAF=16 (the > default), which could accommodate up to 128 CPUs. Then boot with > rcutree.rcu_fanout_leaf=2 on a system with more than 16 CPUs, with > rcutree.rcu_fanout_leaf=3 on a system with more than 24 CPUs, and so on. Ah, runtime overrides and operator error, but then we can WARN(), reset the arguments and try again, right? No need to panic the machine and fail to boot. > Of course, the truly macho way to get this error message is to build > with CONFIG_RCU_FANOUT=64 and CONFIG_RCU_FANOUT_LEAF=64, then boot with > rcutree.rcu_fanout_leaf=63 on a system with more than 16,515,072 CPUs. > Of course, you get serious style points if the system manages to stay > up for more than 24 hours without a hardware failure. ;-) Yes, I'll go power up the nuclear reactor in the basement first :-)