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. |
