diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 54 | ||||
-rw-r--r-- | init/main.c | 12 |
2 files changed, 60 insertions, 6 deletions
diff --git a/init/Kconfig b/init/Kconfig index c8f4c6b421d7..bf501a633f9e 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -851,6 +851,16 @@ config LOG_BUF_SHIFT 13 => 8 KB 12 => 4 KB +config CONSOLE_FLUSH_ON_HOTPLUG + bool "Enable console flush configurable in hot plug code path" + depends on HOTPLUG_CPU + def_bool n + help + In cpu hot plug path console lock acquire and release causes the + console to flush. If console lock is not free hot plug latency + increases. So make console flush configurable in hot plug path + and default disabled to help in cpu hot plug latencies. + config LOG_CPU_MAX_BUF_SHIFT int "CPU kernel log buffer size contribution (13 => 8 KB, 17 => 128KB)" depends on SMP @@ -1040,6 +1050,23 @@ config CGROUP_SCHEDTUNE config PAGE_COUNTER bool +config CGROUP_SCHEDTUNE + bool "CFS tasks boosting cgroup subsystem (EXPERIMENTAL)" + depends on SCHED_TUNE + help + This option provides the "schedtune" controller which improves the + flexibility of the task boosting mechanism by introducing the support + to define "per task" boost values. + + This new controller: + 1. allows only a two layers hierarchy, where the root defines the + system-wide boost value and its direct childrens define each one a + different "class of tasks" to be boosted with a different value + 2. supports up to 16 different task classes, each one which could be + configured with a different boost value + + Say N if unsure. + config MEMCG bool "Memory Resource Controller for Control Groups" select PAGE_COUNTER @@ -1192,6 +1219,33 @@ config CGROUP_WRITEBACK endif # CGROUPS +config SCHED_HMP + bool "Scheduler support for heterogenous multi-processor systems" + depends on SMP && FAIR_GROUP_SCHED + help + This feature will let the scheduler optimize task placement on + systems made of heterogeneous cpus i.e cpus that differ either + in their instructions per-cycle capability or the maximum + frequency they can attain. + +config SCHED_HMP_CSTATE_AWARE + bool "CPU C-state aware scheduler" + depends on SCHED_HMP + help + This feature will let the HMP scheduler optimize task placement + with CPUs C-state. If this is enabled, scheduler places tasks + onto the shallowest C-state CPU among the most power efficient CPUs. + +config SCHED_CORE_CTL + bool "QTI Core Control" + depends on SMP + help + This options enables the core control functionality in + the scheduler. Core control automatically offline and + online cores based on cpu load and utilization. + + If unsure, say N here. + config CHECKPOINT_RESTORE bool "Checkpoint/restore support" if EXPERT select PROC_CHILDREN diff --git a/init/main.c b/init/main.c index c07619f26e54..6fce605c6caf 100644 --- a/init/main.c +++ b/init/main.c @@ -88,7 +88,7 @@ #include <asm/setup.h> #include <asm/sections.h> #include <asm/cacheflush.h> - +#include <soc/qcom/boot_stats.h> static int kernel_init(void *); extern void init_IRQ(void); @@ -507,11 +507,6 @@ asmlinkage __visible void __init start_kernel(void) smp_setup_processor_id(); debug_objects_early_init(); - /* - * Set up the the initial canary ASAP: - */ - boot_init_stack_canary(); - cgroup_init_early(); local_irq_disable(); @@ -525,6 +520,10 @@ asmlinkage __visible void __init start_kernel(void) page_address_init(); pr_notice("%s", linux_banner); setup_arch(&command_line); + /* + * Set up the the initial canary ASAP: + */ + boot_init_stack_canary(); mm_init_cpumask(&init_mm); setup_command_line(command_line); setup_nr_cpu_ids(); @@ -965,6 +964,7 @@ static int __ref kernel_init(void *unused) numa_default_policy(); flush_delayed_fput(); + place_marker("M : Kernel End"); if (ramdisk_execute_command) { ret = run_init_process(ramdisk_execute_command); |