From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757429AbbCCRLG (ORCPT ); Tue, 3 Mar 2015 12:11:06 -0500 Received: from e39.co.us.ibm.com ([32.97.110.160]:44029 "EHLO e39.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756704AbbCCRLD (ORCPT ); Tue, 3 Mar 2015 12:11:03 -0500 Date: Tue, 3 Mar 2015 09:10:56 -0800 From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org Cc: mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com Subject: [PATCH tip/core/rcu 0/5] In-kernel programmatic grace-period expediting for v4.1 Message-ID: <20150303171056.GA11435@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15030317-0033-0000-0000-000003D97FB0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello! This series provides an in-kernel API to expedite and unexpedite normal RCU grace-period primitives such as synchronize_rcu(). It also provides a Kconfig parameter that implicitly expedites at boot time, along with a function that notes the end of in-kernel boot. This last function is intended to be invoked just before init is spawned. 1. Provide rcu_expedite_gp() and rcu_unexpedite_gp(). 2. Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture. 3. Change open-coded references ot the rcu_expedited variable to instead use the new rcu_gp_is_expedited() function. 4. Add a CONFIG_RCU_EXPEDITE_BOOT Kconfig parameter that emulates a very early boot rcu_expedite_gp(). Also provide a new rcu_end_inkernel_boot() function that provides the corresponding rcu_unexpedite_gp() if CONFIG_RCU_EXPEDITE_BOOT. 5. Make consistent use of variables in rcu_torture_writer(). Thanx, Paul ------------------------------------------------------------------------ b/include/linux/rcupdate.h | 21 ++++++++++++++++ b/init/Kconfig | 13 +++++++++ b/kernel/rcu/rcutorture.c | 27 +++++++++++++++++++- b/kernel/rcu/srcu.c | 2 - b/kernel/rcu/tree.c | 9 +++--- b/kernel/rcu/tree_plugin.h | 2 - b/kernel/rcu/update.c | 59 ++++++++++++++++++++++++++++++++++++++++++++- 7 files changed, 125 insertions(+), 8 deletions(-)