]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/blobdiff - init/Kconfig
Merge tag 'balancenuma-v11' of git://git.kernel.org/pub/scm/linux/kernel/git/mel...
[android-sdk/kernel-video.git] / init / Kconfig
index 18e2a5920a34288a18b150adc46aaa952704aac9..1a207efca5918d8ba97a8f9abffcc65527f3da2d 100644 (file)
@@ -486,35 +486,35 @@ config PREEMPT_RCU
          This option enables preemptible-RCU code that is common between
          the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
 
+config CONTEXT_TRACKING
+       bool
+
 config RCU_USER_QS
        bool "Consider userspace as in RCU extended quiescent state"
-       depends on HAVE_RCU_USER_QS && SMP
+       depends on HAVE_CONTEXT_TRACKING && SMP
+       select CONTEXT_TRACKING
        help
          This option sets hooks on kernel / userspace boundaries and
          puts RCU in extended quiescent state when the CPU runs in
          userspace. It means that when a CPU runs in userspace, it is
          excluded from the global RCU state machine and thus doesn't
-         to keep the timer tick on for RCU.
+         try to keep the timer tick on for RCU.
 
          Unless you want to hack and help the development of the full
-         tickless feature, you shouldn't enable this option. It adds
-         unnecessary overhead.
+         dynticks mode, you shouldn't enable this option.  It also
+         adds unnecessary overhead.
 
          If unsure say N
 
-config RCU_USER_QS_FORCE
-       bool "Force userspace extended QS by default"
-       depends on RCU_USER_QS
+config CONTEXT_TRACKING_FORCE
+       bool "Force context tracking"
+       depends on CONTEXT_TRACKING
        help
-         Set the hooks in user/kernel boundaries by default in order to
-         test this feature that treats userspace as an extended quiescent
-         state until we have a real user like a full adaptive nohz option.
-
-         Unless you want to hack and help the development of the full
-         tickless feature, you shouldn't enable this option. It adds
-         unnecessary overhead.
-
-         If unsure say N
+         Probe on user/kernel boundaries by default in order to
+         test the features that rely on it such as userspace RCU extended
+         quiescent states.
+         This test is there for debugging until we have a real user like the
+         full dynticks mode.
 
 config RCU_FANOUT
        int "Tree-based hierarchical RCU fanout value"
@@ -582,14 +582,13 @@ config RCU_FAST_NO_HZ
        depends on NO_HZ && SMP
        default n
        help
-         This option causes RCU to attempt to accelerate grace periods
-         in order to allow CPUs to enter dynticks-idle state more
-         quickly.  On the other hand, this option increases the overhead
-         of the dynticks-idle checking, particularly on systems with
-         large numbers of CPUs.
+         This option causes RCU to attempt to accelerate grace periods in
+         order to allow CPUs to enter dynticks-idle state more quickly.
+         On the other hand, this option increases the overhead of the
+         dynticks-idle checking, thus degrading scheduling latency.
 
-         Say Y if energy efficiency is critically important, particularly
-               if you have relatively few CPUs.
+         Say Y if energy efficiency is critically important, and you don't
+               care about real-time response.
 
          Say N if you are unsure.
 
@@ -655,6 +654,28 @@ config RCU_BOOST_DELAY
 
          Accept the default if unsure.
 
+config RCU_NOCB_CPU
+       bool "Offload RCU callback processing from boot-selected CPUs"
+       depends on TREE_RCU || TREE_PREEMPT_RCU
+       default n
+       help
+         Use this option to reduce OS jitter for aggressive HPC or
+         real-time workloads.  It can also be used to offload RCU
+         callback invocation to energy-efficient CPUs in battery-powered
+         asymmetric multiprocessors.
+
+         This option offloads callback invocation from the set of
+         CPUs specified at boot time by the rcu_nocbs parameter.
+         For each such CPU, a kthread ("rcuoN") will be created to
+         invoke callbacks, where the "N" is the CPU being offloaded.
+         Nothing prevents this kthread from running on the specified
+         CPUs, but (1) the kthreads may be preempted between each
+         callback, and (2) affinity or cgroups can be used to force
+         the kthreads to run on whatever set of CPUs is desired.
+
+         Say Y here if you want reduced OS jitter on selected CPUs.
+         Say N here if you are unsure.
+
 endmenu # "RCU Subsystem"
 
 config IKCONFIG
@@ -730,7 +751,6 @@ config NUMA_BALANCING_DEFAULT_ENABLED
 
 config NUMA_BALANCING
        bool "Memory placement aware NUMA scheduler"
-       default y
        depends on ARCH_SUPPORTS_NUMA_BALANCING
        depends on !ARCH_WANT_NUMA_VARIABLE_LOCALITY
        depends on SMP && NUMA && MIGRATION