rcu: Remove the RCU_KTHREAD_PRIO Kconfig option
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 10 May 2017 22:57:16 +0000 (15:57 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Fri, 9 Jun 2017 01:52:39 +0000 (18:52 -0700)
Anything that can be done with the RCU_KTHREAD_PRIO Kconfig option can
also be done with the rcutree.kthread_prio kernel boot parameter.
This commit therefore removes this Kconfig option.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Rik van Riel <riel@redhat.com>
init/Kconfig
kernel/rcu/tree.c
tools/testing/selftests/rcutorture/configs/rcu/TREE03
tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot
tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt

index a2cfde19e8b891cd79d930e6ba0d57076a0d7015..6f257d51f582ef78a9c4a314fd216e212edadccf 100644 (file)
@@ -697,37 +697,6 @@ config RCU_BOOST
          Say Y here if you are working with real-time apps or heavy loads
          Say N here if you are unsure.
 
-config RCU_KTHREAD_PRIO
-       int "Real-time priority to use for RCU worker threads"
-       range 1 99 if RCU_BOOST
-       range 0 99 if !RCU_BOOST
-       default 1 if RCU_BOOST
-       default 0 if !RCU_BOOST
-       depends on RCU_EXPERT
-       help
-         This option specifies the SCHED_FIFO priority value that will be
-         assigned to the rcuc/n and rcub/n threads and is also the value
-         used for RCU_BOOST (if enabled). If you are working with a
-         real-time application that has one or more CPU-bound threads
-         running at a real-time priority level, you should set
-         RCU_KTHREAD_PRIO to a priority higher than the highest-priority
-         real-time CPU-bound application thread.  The default RCU_KTHREAD_PRIO
-         value of 1 is appropriate in the common case, which is real-time
-         applications that do not have any CPU-bound threads.
-
-         Some real-time applications might not have a single real-time
-         thread that saturates a given CPU, but instead might have
-         multiple real-time threads that, taken together, fully utilize
-         that CPU.  In this case, you should set RCU_KTHREAD_PRIO to
-         a priority higher than the lowest-priority thread that is
-         conspiring to prevent the CPU from running any non-real-time
-         tasks.  For example, if one thread at priority 10 and another
-         thread at priority 5 are between themselves fully consuming
-         the CPU time on a given CPU, then RCU_KTHREAD_PRIO should be
-         set to priority 6 or higher.
-
-         Specify the real-time priority, or take the default if unsure.
-
 config RCU_BOOST_DELAY
        int "Milliseconds to delay boosting after RCU grace-period start"
        range 0 3000
index bbbddd85906b5b6111ed38c32fd272e804ba4534..187ac3f415261b31c7e3b34c9922905e46258454 100644 (file)
@@ -168,11 +168,7 @@ static void rcu_report_exp_rdp(struct rcu_state *rsp,
 static void sync_sched_exp_online_cleanup(int cpu);
 
 /* rcuc/rcub kthread realtime priority */
-#ifdef CONFIG_RCU_KTHREAD_PRIO
-static int kthread_prio = CONFIG_RCU_KTHREAD_PRIO;
-#else /* #ifdef CONFIG_RCU_KTHREAD_PRIO */
 static int kthread_prio = IS_ENABLED(CONFIG_RCU_BOOST) ? 1 : 0;
-#endif /* #else #ifdef CONFIG_RCU_KTHREAD_PRIO */
 module_param(kthread_prio, int, 0644);
 
 /* Delay in jiffies for grace-period initialization delays, debug only. */
index 7a17c503b382cdca20dbca7ed0d5189842e75a68..2dc31b16e506cb6ef60968bb7f3d7669f6d9e2da 100644 (file)
@@ -14,6 +14,5 @@ CONFIG_RCU_FANOUT_LEAF=2
 CONFIG_RCU_NOCB_CPU=n
 CONFIG_DEBUG_LOCK_ALLOC=n
 CONFIG_RCU_BOOST=y
-CONFIG_RCU_KTHREAD_PRIO=2
 CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
 CONFIG_RCU_EXPERT=y
index 9ef3aed126e9f4f6b669c48529e8fe6c3195ca0c..5d2cc0bd50a0963efb0348d264114f60b30d91a8 100644 (file)
@@ -2,3 +2,4 @@ rcutorture.onoff_interval=1 rcutorture.onoff_holdoff=30
 rcutree.gp_preinit_delay=3
 rcutree.gp_init_delay=3
 rcutree.gp_cleanup_delay=3
+rcutree.kthread_prio=2
index 1dfec4657d957f17db821c0f7de47b333f3f4003..b5ea8489969a5fe7b27b1fd3e134cd721b6066be 100644 (file)
@@ -16,7 +16,6 @@ CONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not.
 CONFIG_PROVE_RCU -- Hardwired to CONFIG_PROVE_LOCKING.
 CONFIG_PROVE_RCU_REPEATEDLY -- Do one.
 CONFIG_RCU_BOOST -- one of PREEMPT_RCU.
-CONFIG_RCU_KTHREAD_PRIO -- set to 2 for _BOOST testing.
 CONFIG_RCU_FANOUT -- Cover hierarchy, but overlap with others.
 CONFIG_RCU_FANOUT_LEAF -- Do one non-default.
 CONFIG_RCU_FAST_NO_HZ -- Do one, but not with CONFIG_RCU_NOCB_CPU_ALL.