summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig54
-rw-r--r--init/main.c12
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);