From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
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/12] RCU Kconfig fixes for v4.2
Date: Tue, 21 Apr 2015 12:55:29 -0700 [thread overview]
Message-ID: <20150421195529.GA17864@linux.vnet.ibm.com> (raw)
Hello!
This patch series reduces the number of questions that RCU asks Kconfig
users. After this series is applied, removing the RCU-related definitions
from .config and running "make oldconfig" results in only the following:
RCU Implementation
> 1. Tree-based hierarchical RCU (TREE_RCU) (NEW)
choice[1]: 1
Make expert-level adjustments to RCU configuration (RCU_EXPERT) [N/y/?] (NEW)
Those expert users wishing to tune RCU answer Y to this question.
The patches in this series are as follows:
1. Drive TASKS_RCU directly from Kconfig, for example, by having
RCU_TORTURE_TESTS select it.
2. Remove CONFIG_TASKS_RCU=y from the three TASKS_RCU test
scenarios, since this is set by virtue of having rcutorture
configured.
3. Drive RCU_USER_QS directly from Kconfig, relying on the fact
that NO_HZ_FULL selects it.
4. Convert CONFIG_RCU_FANOUT_EXACT to a boot parameter, where it
is used by rcutorture.
5. Update rcutorture test scenarios to use the boot parameter
created in #4 instead of the Kconfig parameter.
6. Create a boot parameter to do a diagnostic dump of the shape
of the rcu_node combining tree, which is useful for verifying
that intended changes to that tree actually happened.
7. Create an RCU_EXPERT Kconfig parameter and hide the
RCU_FAST_NO_HZ, RCU_BOOST, CONTEXT_TRACKING_FORCE, and
RCU_NOCB_CPU boolean parameters behind it.
8. Make rcutorture test scenarios force RCU_EXPERT, but have
SRCU-P, TASKS03, and TREE09 retain !RCU_EXPERT in order to
test the vanilla configuration.
9. Remove the dependency of RCU_FANOUT_LEAF on RCU_FANOUT.
10. Change RCU to allow it to tolerate an undefined RCU_FANOUT,
and then hide RCU_FANOUT behind RCU_EXPERT.
11. Change RCU to allow it to tolerate an undefined RCU_FANOUT_LEAF,
and then hide RCU_FANOUT_LEAF behind RCU_EXPERT.
12. Change RCU to allow it to tolerate an undefined RCU_KTHREAD_PRIO,
and then hide RCU_KTHREAD_PRIO behind RCU_EXPERT.
Thanx, Paul
------------------------------------------------------------------------
b/Documentation/kernel-parameters.txt | 11 +
b/init/Kconfig | 62 ++++------
b/kernel/rcu/tree.c | 50 ++++++--
b/kernel/rcu/tree.h | 29 ++++
b/kernel/rcu/tree_plugin.h | 14 +-
b/lib/Kconfig.debug | 1
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-N | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02 | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TASKS03 | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE01 | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE02 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE02-T | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE03 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE04 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE05 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE06 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE06.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE07 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08 | 2
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08-T.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot | 1
23 files changed, 127 insertions(+), 65 deletions(-)
next reply other threads:[~2015-04-21 19:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-21 19:55 Paul E. McKenney [this message]
2015-04-21 19:55 ` [PATCH tip/core/rcu 01/12] rcu: Directly drive TASKS_RCU from Kconfig Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 02/12] rcutorture: TASKS_RCU set directly, so don't explicitly set it Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 03/12] rcu: Directly drive RCU_USER_QS from Kconfig Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 04/12] rcu: Covert CONFIG_RCU_FANOUT_EXACT to boot parameter Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 05/12] rcutorture: Update configuration fragments for rcutree.rcu_fanout_exact Paul E. McKenney
2015-04-22 5:08 ` Pranith Kumar
2015-04-22 14:24 ` Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 06/12] rcu: Enable diagnostic dump of rcu_node combining tree Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 07/12] rcu: Create RCU_EXPERT Kconfig and hide booleans behind it Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 08/12] rcutorture: Make rcutorture scripts force RCU_EXPERT Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 09/12] rcu: Break dependency of RCU_FANOUT_LEAF on RCU_FANOUT Paul E. McKenney
2015-04-22 5:22 ` Pranith Kumar
2015-04-22 14:30 ` Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 10/12] rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 11/12] rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT_LEAF Paul E. McKenney
2015-04-22 5:25 ` Pranith Kumar
2015-04-22 14:30 ` Paul E. McKenney
2015-04-21 19:55 ` [PATCH tip/core/rcu 12/12] rcu: Make RCU able to tolerate undefined CONFIG_RCU_KTHREAD_PRIO Paul E. McKenney
2015-04-22 5:26 ` [PATCH tip/core/rcu 0/12] RCU Kconfig fixes for v4.2 Pranith Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150421195529.GA17864@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=bobby.prani@gmail.com \
--cc=dhowells@redhat.com \
--cc=dipankar@in.ibm.com \
--cc=dvhart@linux.intel.com \
--cc=edumazet@google.com \
--cc=fweisbec@gmail.com \
--cc=josh@joshtriplett.org \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.