aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2010-09-27 20:25:23 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-11-30 01:01:54 -0500
commit24278d148316d2180be6df40e06db013d8b232b8 (patch)
tree6a579d483f8f799b352e39b972a7e03cc6204fc1 /init
parentb2c0710c464ede15e1fc52fb1e7ee9ba54cea186 (diff)
rcu: priority boosting for TINY_PREEMPT_RCU
Add priority boosting, but only for TINY_PREEMPT_RCU. This is enabled by the default-off RCU_BOOST kernel parameter. The priority to which to boost preempted RCU readers is controlled by the RCU_BOOST_PRIO kernel parameter (defaulting to real-time priority 1) and the time to wait before boosting the readers blocking a given grace period is controlled by the RCU_BOOST_DELAY kernel parameter (defaulting to 500 milliseconds). Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig39
1 files changed, 39 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index a619a1ac7f4c..48efefcac12a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -450,6 +450,45 @@ config TREE_RCU_TRACE
450 TREE_PREEMPT_RCU implementations, permitting Makefile to 450 TREE_PREEMPT_RCU implementations, permitting Makefile to
451 trivially select kernel/rcutree_trace.c. 451 trivially select kernel/rcutree_trace.c.
452 452
453config RCU_BOOST
454 bool "Enable RCU priority boosting"
455 depends on RT_MUTEXES && TINY_PREEMPT_RCU
456 default n
457 help
458 This option boosts the priority of preempted RCU readers that
459 block the current preemptible RCU grace period for too long.
460 This option also prevents heavy loads from blocking RCU
461 callback invocation for all flavors of RCU.
462
463 Say Y here if you are working with real-time apps or heavy loads
464 Say N here if you are unsure.
465
466config RCU_BOOST_PRIO
467 int "Real-time priority to boost RCU readers to"
468 range 1 99
469 depends on RCU_BOOST
470 default 1
471 help
472 This option specifies the real-time priority to which preempted
473 RCU readers are to be boosted. If you are working with CPU-bound
474 real-time applications, you should specify a priority higher then
475 the highest-priority CPU-bound application.
476
477 Specify the real-time priority, or take the default if unsure.
478
479config RCU_BOOST_DELAY
480 int "Milliseconds to delay boosting after RCU grace-period start"
481 range 0 3000
482 depends on RCU_BOOST
483 default 500
484 help
485 This option specifies the time to wait after the beginning of
486 a given grace period before priority-boosting preempted RCU
487 readers blocking that grace period. Note that any RCU reader
488 blocking an expedited RCU grace period is boosted immediately.
489
490 Accept the default if unsure.
491
453endmenu # "RCU Subsystem" 492endmenu # "RCU Subsystem"
454 493
455config IKCONFIG 494config IKCONFIG