Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/adaptation/renesas_rcar/renesas_kernel.git] / init / Kconfig
index b3f55f1..c26b8a1 100644 (file)
@@ -441,6 +441,24 @@ config PREEMPT_RCU
          This option enables preemptible-RCU code that is common between
          the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations.
 
+config RCU_USER_QS
+       bool "Consider userspace as in RCU extended quiescent state"
+       depends on HAVE_RCU_USER_QS && SMP
+       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.
+
+config RCU_USER_QS_FORCE
+       bool "Force userspace extended QS by default"
+       depends on RCU_USER_QS
+       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.
+
 config RCU_FANOUT
        int "Tree-based hierarchical RCU fanout value"
        range 2 64 if 64BIT
@@ -686,7 +704,7 @@ config RESOURCE_COUNTERS
          This option enables controller independent resource accounting
          infrastructure that works with cgroups.
 
-config CGROUP_MEM_RES_CTLR
+config MEMCG
        bool "Memory Resource Controller for Control Groups"
        depends on RESOURCE_COUNTERS
        select MM_OWNER
@@ -709,9 +727,9 @@ config CGROUP_MEM_RES_CTLR
          This config option also selects MM_OWNER config option, which
          could in turn add some fork/exit overhead.
 
-config CGROUP_MEM_RES_CTLR_SWAP
+config MEMCG_SWAP
        bool "Memory Resource Controller Swap Extension"
-       depends on CGROUP_MEM_RES_CTLR && SWAP
+       depends on MEMCG && SWAP
        help
          Add swap management feature to memory resource controller. When you
          enable this, you can limit mem+swap usage per cgroup. In other words,
@@ -726,9 +744,9 @@ config CGROUP_MEM_RES_CTLR_SWAP
          if boot option "swapaccount=0" is set, swap will not be accounted.
          Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
          size is 4096bytes, 512k per 1Gbytes of swap.
-config CGROUP_MEM_RES_CTLR_SWAP_ENABLED
+config MEMCG_SWAP_ENABLED
        bool "Memory Resource Controller Swap Extension enabled by default"
-       depends on CGROUP_MEM_RES_CTLR_SWAP
+       depends on MEMCG_SWAP
        default y
        help
          Memory Resource Controller Swap Extension comes with its price in
@@ -739,9 +757,9 @@ config CGROUP_MEM_RES_CTLR_SWAP_ENABLED
          For those who want to have the feature enabled by default should
          select this option (if, for some reason, they need to disable it
          then swapaccount=0 does the trick).
-config CGROUP_MEM_RES_CTLR_KMEM
+config MEMCG_KMEM
        bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
-       depends on CGROUP_MEM_RES_CTLR && EXPERIMENTAL
+       depends on MEMCG && EXPERIMENTAL
        default n
        help
          The Kernel Memory extension for Memory Resource Controller can limit
@@ -751,6 +769,21 @@ config CGROUP_MEM_RES_CTLR_KMEM
          the kmem extension can use it to guarantee that no group of processes
          will ever exhaust kernel resources alone.
 
+config CGROUP_HUGETLB
+       bool "HugeTLB Resource Controller for Control Groups"
+       depends on RESOURCE_COUNTERS && HUGETLB_PAGE && EXPERIMENTAL
+       default n
+       help
+         Provides a cgroup Resource Controller for HugeTLB pages.
+         When you enable this, you can put a per cgroup limit on HugeTLB usage.
+         The limit is enforced during page fault. Since HugeTLB doesn't
+         support page reclaim, enforcing the limit at page fault time implies
+         that, the application will get SIGBUS signal if it tries to access
+         HugeTLB pages beyond its limit. This requires the application to know
+         beforehand how much HugeTLB pages it would require for its use. The
+         control group is tracked in the third page lru pointer. This means
+         that we cannot use the controller with huge page less than 3 pages.
+
 config CGROUP_PERF
        bool "Enable perf_event per-cpu per-container group (cgroup) monitoring"
        depends on PERF_EVENTS && CGROUPS