Merge tag 'v3.10.21' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / arch / arm / Kconfig
index bc79c57d78c4185be265c27e4c132eb5ec827fbc..1116be551be55a5f56ef6a6a591453e867b9a508 100644 (file)
@@ -19,7 +19,6 @@ config ARM
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
        select HARDIRQS_SW_RESEND
-       select HAVE_AOUT
        select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_SECCOMP_FILTER
@@ -213,7 +212,8 @@ config VECTORS_BASE
        default DRAM_BASE if REMAP_VECTORS_TO_RAM
        default 0x00000000
        help
-         The base address of exception vectors.
+         The base address of exception vectors.  This must be two pages
+         in size.
 
 config ARM_PATCH_PHYS_VIRT
        bool "Patch physical to virtual translations at runtime" if EMBEDDED
@@ -1510,11 +1510,21 @@ config SCHED_HMP
          There is currently no support for migration of task groups, hence
          !SCHED_AUTOGROUP. Furthermore, normal load-balancing must be disabled
          between cpus of different type (DISABLE_CPU_SCHED_DOMAIN_BALANCE).
+         When turned on, this option adds sys/kernel/hmp directory which
+         contains the following files:
+         up_threshold - the load average threshold used for up migration
+                        (0 - 1023)
+         down_threshold - the load average threshold used for down migration
+                        (0 - 1023)
+         hmp_domains - a list of cpumasks for the present HMP domains,
+                       starting with the 'biggest' and ending with the
+                       'smallest'.
+         Note that both the threshold files can be written at runtime to
+         control scheduler behaviour.
 
 config SCHED_HMP_PRIO_FILTER
        bool "(EXPERIMENTAL) Filter HMP migrations by task priority"
        depends on SCHED_HMP
-       default y
        help
          Enables task priority based HMP migration filter. Any task with
          a NICE value above the threshold will always be on low-power cpus
@@ -1545,28 +1555,24 @@ config HMP_VARIABLE_SCALE
        bool "Allows changing the load tracking scale through sysfs"
        depends on SCHED_HMP
        help
-         When turned on, this option exports the thresholds and load average
-         period value for the load tracking patches through sysfs.
+         When turned on, this option exports the load average period value
+         for the load tracking patches through sysfs.
          The values can be modified to change the rate of load accumulation
-         and the thresholds used for HMP migration.
-         The load_avg_period_ms is the time in ms to reach a load average of
-         0.5 for an idle task of 0 load average ratio that start a busy loop.
-         The up_threshold and down_threshold is the value to go to a faster
-         CPU or to go back to a slower cpu.
-         The {up,down}_threshold are devided by 1024 before being compared
-         to the load average.
-         For examples, with load_avg_period_ms = 128 and up_threshold = 512,
+         used for HMP migration. 'load_avg_period_ms' is the time in ms to
+         reach a load average of 0.5 for an idle task of 0 load average
+         ratio which becomes 100% busy.
+         For example, with load_avg_period_ms = 128 and up_threshold = 512,
          a running task with a load of 0 will be migrated to a bigger CPU after
          128ms, because after 128ms its load_avg_ratio is 0.5 and the real
          up_threshold is 0.5.
          This patch has the same behavior as changing the Y of the load
          average computation to
                (1002/1024)^(LOAD_AVG_PERIOD/load_avg_period_ms)
-         but it remove intermadiate overflows in computation.
+         but removes intermediate overflows in computation.
 
 config HMP_FREQUENCY_INVARIANT_SCALE
        bool "(EXPERIMENTAL) Frequency-Invariant Tracked Load for HMP"
-       depends on HMP_VARIABLE_SCALE && CPU_FREQ
+       depends on SCHED_HMP && CPU_FREQ
        help
          Scales the current load contribution in line with the frequency
          of the CPU that the task was executed on.
@@ -1579,6 +1585,18 @@ config HMP_FREQUENCY_INVARIANT_SCALE
          migration strategy to interact more predictably with CPUFreq's
          asynchronous compute capacity changes.
 
+config SCHED_HMP_LITTLE_PACKING
+       bool "Small task packing for HMP"
+       depends on SCHED_HMP
+       default n
+       help
+         Allows the HMP Scheduler to pack small tasks into CPUs in the
+         smallest HMP domain.
+         Controlled by two sysfs files in sys/kernel/hmp.
+         packing_enable: 1 to enable, 0 to disable packing. Default 1.
+         packing_limit: runqueue load ratio where a RQ is considered
+           to be full. Default is NICE_0_LOAD * 9/8.
+
 config HAVE_ARM_SCU
        bool
        help
@@ -1606,6 +1624,31 @@ config MCPM
          for (multi-)cluster based systems, such as big.LITTLE based
          systems.
 
+config BIG_LITTLE
+       bool "big.LITTLE support (Experimental)"
+       depends on CPU_V7 && SMP
+       select MCPM
+       help
+         This option enables support for the big.LITTLE architecture.
+
+config BL_SWITCHER
+       bool "big.LITTLE switcher support"
+       depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
+       select CPU_PM
+       select ARM_CPU_SUSPEND
+       help
+         The big.LITTLE "switcher" provides the core functionality to
+         transparently handle transition between a cluster of A15's
+         and a cluster of A7's in a big.LITTLE system.
+
+config BL_SWITCHER_DUMMY_IF
+       tristate "Simple big.LITTLE switcher user interface"
+       depends on BL_SWITCHER && DEBUG_KERNEL
+       help
+         This is a simple and dummy char dev interface to control
+         the big.LITTLE switcher core code.  It is meant for
+         debugging purposes only.
+
 choice
        prompt "Memory split"
        default VMSPLIT_3G