rcu: Unify boost and kthread priorities
[deliverable/linux.git] / init / Kconfig
index d2355812ba48a7e1f52855ad9c431878ee32f175..15c299cc7c1e6e2af000bd553c6fad9494b0a6b3 100644 (file)
@@ -507,6 +507,16 @@ config PREEMPT_RCU
          This option enables preemptible-RCU code that is common between
          TREE_PREEMPT_RCU and, in the old days, TINY_PREEMPT_RCU.
 
+config TASKS_RCU
+       bool "Task_based RCU implementation using voluntary context switch"
+       default n
+       help
+         This option enables a task-based RCU implementation that uses
+         only voluntary context switch (not preemption!), idle, and
+         user-mode execution as quiescent states.
+
+         If unsure, say N.
+
 config RCU_STALL_COMMON
        def_bool ( TREE_RCU || TREE_PREEMPT_RCU || RCU_TRACE )
        help
@@ -662,30 +672,31 @@ config RCU_BOOST
          Say Y here if you are working with real-time apps or heavy loads
          Say N here if you are unsure.
 
-config RCU_BOOST_PRIO
-       int "Real-time priority to boost RCU readers to"
+config RCU_KTHREAD_PRIO
+       int "Real-time priority to use for RCU worker threads"
        range 1 99
        depends on RCU_BOOST
        default 1
        help
-         This option specifies the real-time priority to which long-term
-         preempted RCU readers are to be boosted.  If you are working
-         with a real-time application that has one or more CPU-bound
-         threads running at a real-time priority level, you should set
-         RCU_BOOST_PRIO to a priority higher then the highest-priority
-         real-time CPU-bound thread.  The default RCU_BOOST_PRIO value
-         of 1 is appropriate in the common case, which is real-time
+         This option specifies the SCHED_FIFO priority value that will be
+         assigned to the rcuc/n and rcub/n threads and is also the value
+         used for RCU_BOOST (if enabled). If you are working with a
+         real-time application that has one or more CPU-bound threads
+         running at a real-time priority level, you should set
+         RCU_KTHREAD_PRIO to a priority higher than the highest-priority
+         real-time CPU-bound application thread.  The default RCU_KTHREAD_PRIO
+         value of 1 is appropriate in the common case, which is real-time
          applications that do not have any CPU-bound threads.
 
          Some real-time applications might not have a single real-time
          thread that saturates a given CPU, but instead might have
          multiple real-time threads that, taken together, fully utilize
-         that CPU.  In this case, you should set RCU_BOOST_PRIO to
+         that CPU.  In this case, you should set RCU_KTHREAD_PRIO to
          a priority higher than the lowest-priority thread that is
          conspiring to prevent the CPU from running any non-real-time
          tasks.  For example, if one thread at priority 10 and another
          thread at priority 5 are between themselves fully consuming
-         the CPU time on a given CPU, then RCU_BOOST_PRIO should be
+         the CPU time on a given CPU, then RCU_KTHREAD_PRIO should be
          set to priority 6 or higher.
 
          Specify the real-time priority, or take the default if unsure.
@@ -729,6 +740,7 @@ config RCU_NOCB_CPU
 choice
        prompt "Build-forced no-CBs CPUs"
        default RCU_NOCB_CPU_NONE
+       depends on RCU_NOCB_CPU
        help
          This option allows no-CBs CPUs (whose RCU callbacks are invoked
          from kthreads rather than from softirq context) to be specified
@@ -737,7 +749,6 @@ choice
 
 config RCU_NOCB_CPU_NONE
        bool "No build_forced no-CBs CPUs"
-       depends on RCU_NOCB_CPU && !NO_HZ_FULL_ALL
        help
          This option does not force any of the CPUs to be no-CBs CPUs.
          Only CPUs designated by the rcu_nocbs= boot parameter will be
@@ -751,7 +762,6 @@ config RCU_NOCB_CPU_NONE
 
 config RCU_NOCB_CPU_ZERO
        bool "CPU 0 is a build_forced no-CBs CPU"
-       depends on RCU_NOCB_CPU && !NO_HZ_FULL_ALL
        help
          This option forces CPU 0 to be a no-CBs CPU, so that its RCU
          callbacks are invoked by a per-CPU kthread whose name begins
@@ -766,7 +776,6 @@ config RCU_NOCB_CPU_ZERO
 
 config RCU_NOCB_CPU_ALL
        bool "All CPUs are build_forced no-CBs CPUs"
-       depends on RCU_NOCB_CPU
        help
          This option forces all CPUs to be no-CBs CPUs.  The rcu_nocbs=
          boot parameter will be ignored.  All CPUs' RCU callbacks will
@@ -828,6 +837,7 @@ config LOG_BUF_SHIFT
 
 config LOG_CPU_MAX_BUF_SHIFT
        int "CPU kernel log buffer size contribution (13 => 8 KB, 17 => 128KB)"
+       depends on SMP
        range 0 21
        default 12 if !BASE_SMALL
        default 0 if BASE_SMALL
This page took 0.025864 seconds and 5 git commands to generate.