diff options
author | Clark Williams <clark.williams@gmail.com> | 2014-09-12 22:21:09 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2014-10-29 13:19:41 -0400 |
commit | 21871d7eff2c96ae67e18e00adf59d56940e2fcc (patch) | |
tree | e1d6d5c5b7e1f3b70715451c1a04f591293fb474 /init | |
parent | e0775cefb5ede661dbdc0611d7bf3fcd4640005c (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/Kconfig | 23 |
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 | ||
675 | config RCU_BOOST_PRIO | 675 | config 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. |