rcu: Remove the RCU_KTHREAD_PRIO Kconfig option
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>
This commit is contained in:
Родитель
90040c9e30
Коммит
f7a10a9750
31
init/Kconfig
31
init/Kconfig
|
@ -697,37 +697,6 @@ config RCU_BOOST
|
||||||
Say Y here if you are working with real-time apps or heavy loads
|
Say Y here if you are working with real-time apps or heavy loads
|
||||||
Say N here if you are unsure.
|
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
|
config RCU_BOOST_DELAY
|
||||||
int "Milliseconds to delay boosting after RCU grace-period start"
|
int "Milliseconds to delay boosting after RCU grace-period start"
|
||||||
range 0 3000
|
range 0 3000
|
||||||
|
|
|
@ -168,11 +168,7 @@ static void rcu_report_exp_rdp(struct rcu_state *rsp,
|
||||||
static void sync_sched_exp_online_cleanup(int cpu);
|
static void sync_sched_exp_online_cleanup(int cpu);
|
||||||
|
|
||||||
/* rcuc/rcub kthread realtime priority */
|
/* 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;
|
static int kthread_prio = IS_ENABLED(CONFIG_RCU_BOOST) ? 1 : 0;
|
||||||
#endif /* #else #ifdef CONFIG_RCU_KTHREAD_PRIO */
|
|
||||||
module_param(kthread_prio, int, 0644);
|
module_param(kthread_prio, int, 0644);
|
||||||
|
|
||||||
/* Delay in jiffies for grace-period initialization delays, debug only. */
|
/* Delay in jiffies for grace-period initialization delays, debug only. */
|
||||||
|
|
|
@ -14,6 +14,5 @@ CONFIG_RCU_FANOUT_LEAF=2
|
||||||
CONFIG_RCU_NOCB_CPU=n
|
CONFIG_RCU_NOCB_CPU=n
|
||||||
CONFIG_DEBUG_LOCK_ALLOC=n
|
CONFIG_DEBUG_LOCK_ALLOC=n
|
||||||
CONFIG_RCU_BOOST=y
|
CONFIG_RCU_BOOST=y
|
||||||
CONFIG_RCU_KTHREAD_PRIO=2
|
|
||||||
CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
|
CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
|
||||||
CONFIG_RCU_EXPERT=y
|
CONFIG_RCU_EXPERT=y
|
||||||
|
|
|
@ -2,3 +2,4 @@ rcutorture.onoff_interval=1 rcutorture.onoff_holdoff=30
|
||||||
rcutree.gp_preinit_delay=3
|
rcutree.gp_preinit_delay=3
|
||||||
rcutree.gp_init_delay=3
|
rcutree.gp_init_delay=3
|
||||||
rcutree.gp_cleanup_delay=3
|
rcutree.gp_cleanup_delay=3
|
||||||
|
rcutree.kthread_prio=2
|
||||||
|
|
|
@ -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 -- Hardwired to CONFIG_PROVE_LOCKING.
|
||||||
CONFIG_PROVE_RCU_REPEATEDLY -- Do one.
|
CONFIG_PROVE_RCU_REPEATEDLY -- Do one.
|
||||||
CONFIG_RCU_BOOST -- one of PREEMPT_RCU.
|
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 -- Cover hierarchy, but overlap with others.
|
||||||
CONFIG_RCU_FANOUT_LEAF -- Do one non-default.
|
CONFIG_RCU_FANOUT_LEAF -- Do one non-default.
|
||||||
CONFIG_RCU_FAST_NO_HZ -- Do one, but not with CONFIG_RCU_NOCB_CPU_ALL.
|
CONFIG_RCU_FAST_NO_HZ -- Do one, but not with CONFIG_RCU_NOCB_CPU_ALL.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче