diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/init/Kconfig b/init/Kconfig index c9728992a776..526ec1c7456a 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -393,7 +393,6 @@ config PREEMPT_RCU | |||
393 | 393 | ||
394 | config RCU_TRACE | 394 | config RCU_TRACE |
395 | bool "Enable tracing for RCU" | 395 | bool "Enable tracing for RCU" |
396 | depends on TREE_RCU || TREE_PREEMPT_RCU | ||
397 | help | 396 | help |
398 | This option provides tracing in RCU which presents stats | 397 | This option provides tracing in RCU which presents stats |
399 | in debugfs for debugging RCU implementation. | 398 | in debugfs for debugging RCU implementation. |
@@ -459,6 +458,60 @@ config TREE_RCU_TRACE | |||
459 | TREE_PREEMPT_RCU implementations, permitting Makefile to | 458 | TREE_PREEMPT_RCU implementations, permitting Makefile to |
460 | trivially select kernel/rcutree_trace.c. | 459 | trivially select kernel/rcutree_trace.c. |
461 | 460 | ||
461 | config RCU_BOOST | ||
462 | bool "Enable RCU priority boosting" | ||
463 | depends on RT_MUTEXES && TINY_PREEMPT_RCU | ||
464 | default n | ||
465 | help | ||
466 | This option boosts the priority of preempted RCU readers that | ||
467 | block the current preemptible RCU grace period for too long. | ||
468 | This option also prevents heavy loads from blocking RCU | ||
469 | callback invocation for all flavors of RCU. | ||
470 | |||
471 | Say Y here if you are working with real-time apps or heavy loads | ||
472 | Say N here if you are unsure. | ||
473 | |||
474 | config RCU_BOOST_PRIO | ||
475 | int "Real-time priority to boost RCU readers to" | ||
476 | range 1 99 | ||
477 | depends on RCU_BOOST | ||
478 | default 1 | ||
479 | help | ||
480 | This option specifies the real-time priority to which preempted | ||
481 | RCU readers are to be boosted. If you are working with CPU-bound | ||
482 | real-time applications, you should specify a priority higher then | ||
483 | the highest-priority CPU-bound application. | ||
484 | |||
485 | Specify the real-time priority, or take the default if unsure. | ||
486 | |||
487 | config RCU_BOOST_DELAY | ||
488 | int "Milliseconds to delay boosting after RCU grace-period start" | ||
489 | range 0 3000 | ||
490 | depends on RCU_BOOST | ||
491 | default 500 | ||
492 | help | ||
493 | This option specifies the time to wait after the beginning of | ||
494 | a given grace period before priority-boosting preempted RCU | ||
495 | readers blocking that grace period. Note that any RCU reader | ||
496 | blocking an expedited RCU grace period is boosted immediately. | ||
497 | |||
498 | Accept the default if unsure. | ||
499 | |||
500 | config SRCU_SYNCHRONIZE_DELAY | ||
501 | int "Microseconds to delay before waiting for readers" | ||
502 | range 0 20 | ||
503 | default 10 | ||
504 | help | ||
505 | This option controls how long SRCU delays before entering its | ||
506 | loop waiting on SRCU readers. The purpose of this loop is | ||
507 | to avoid the unconditional context-switch penalty that would | ||
508 | otherwise be incurred if there was an active SRCU reader, | ||
509 | in a manner similar to adaptive locking schemes. This should | ||
510 | be set to be a bit longer than the common-case SRCU read-side | ||
511 | critical-section overhead. | ||
512 | |||
513 | Accept the default if unsure. | ||
514 | |||
462 | endmenu # "RCU Subsystem" | 515 | endmenu # "RCU Subsystem" |
463 | 516 | ||
464 | config IKCONFIG | 517 | config IKCONFIG |