aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorClark Williams <clark.williams@gmail.com>2014-09-12 22:21:09 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2014-10-29 13:19:41 -0400
commit21871d7eff2c96ae67e18e00adf59d56940e2fcc (patch)
treee1d6d5c5b7e1f3b70715451c1a04f591293fb474 /init
parente0775cefb5ede661dbdc0611d7bf3fcd4640005c (diff)
rcu: Unify boost and kthread priorities
Rename CONFIG_RCU_BOOST_PRIO to CONFIG_RCU_KTHREAD_PRIO and use this value for both the per-CPU kthreads (rcuc/N) and the rcu boosting threads (rcub/n). Also, create the module_parameter rcutree.kthread_prio to be used on the kernel command line at boot to set a new value (rcutree.kthread_prio=N). Signed-off-by: Clark Williams <clark.williams@gmail.com> [ paulmck: Ported to rcu/dev, applied Paul Bolle and Peter Zijlstra feedback. ] Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig23
1 files changed, 12 insertions, 11 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 0c9546ba56e8..15c299cc7c1e 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -672,30 +672,31 @@ config RCU_BOOST
672 Say Y here if you are working with real-time apps or heavy loads 672 Say Y here if you are working with real-time apps or heavy loads
673 Say N here if you are unsure. 673 Say N here if you are unsure.
674 674
675config RCU_BOOST_PRIO 675config RCU_KTHREAD_PRIO
676 int "Real-time priority to boost RCU readers to" 676 int "Real-time priority to use for RCU worker threads"
677 range 1 99 677 range 1 99
678 depends on RCU_BOOST 678 depends on RCU_BOOST
679 default 1 679 default 1
680 help 680 help
681 This option specifies the real-time priority to which long-term 681 This option specifies the SCHED_FIFO priority value that will be
682 preempted RCU readers are to be boosted. If you are working 682 assigned to the rcuc/n and rcub/n threads and is also the value
683 with a real-time application that has one or more CPU-bound 683 used for RCU_BOOST (if enabled). If you are working with a
684 threads running at a real-time priority level, you should set 684 real-time application that has one or more CPU-bound threads
685 RCU_BOOST_PRIO to a priority higher then the highest-priority 685 running at a real-time priority level, you should set
686 real-time CPU-bound thread. The default RCU_BOOST_PRIO value 686 RCU_KTHREAD_PRIO to a priority higher than the highest-priority
687 of 1 is appropriate in the common case, which is real-time 687 real-time CPU-bound application thread. The default RCU_KTHREAD_PRIO
688 value of 1 is appropriate in the common case, which is real-time
688 applications that do not have any CPU-bound threads. 689 applications that do not have any CPU-bound threads.
689 690
690 Some real-time applications might not have a single real-time 691 Some real-time applications might not have a single real-time
691 thread that saturates a given CPU, but instead might have 692 thread that saturates a given CPU, but instead might have
692 multiple real-time threads that, taken together, fully utilize 693 multiple real-time threads that, taken together, fully utilize
693 that CPU. In this case, you should set RCU_BOOST_PRIO to 694 that CPU. In this case, you should set RCU_KTHREAD_PRIO to
694 a priority higher than the lowest-priority thread that is 695 a priority higher than the lowest-priority thread that is
695 conspiring to prevent the CPU from running any non-real-time 696 conspiring to prevent the CPU from running any non-real-time
696 tasks. For example, if one thread at priority 10 and another 697 tasks. For example, if one thread at priority 10 and another
697 thread at priority 5 are between themselves fully consuming 698 thread at priority 5 are between themselves fully consuming
698 the CPU time on a given CPU, then RCU_BOOST_PRIO should be 699 the CPU time on a given CPU, then RCU_KTHREAD_PRIO should be
699 set to priority 6 or higher. 700 set to priority 6 or higher.
700 701
701 Specify the real-time priority, or take the default if unsure. 702 Specify the real-time priority, or take the default if unsure.