core_ctrl: Move core control into kernel

Move core control from out-of-tree module into the kernel proper.

Core control monitors load on CPUs and controls how many CPUs are
available for the system to use at any point in time. This can help save
power. Core control can be configured through sysfs interface.

Change-Id: Ia78e701468ea3828195c2a15c9cf9fafd099804a
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
This commit is contained in:
Olav Haugan 2016-08-18 17:22:44 -07:00
parent 7f2c523643
commit 59f16ae034
3 changed files with 1025 additions and 0 deletions

View file

@ -1170,6 +1170,16 @@ config SCHED_HMP_CSTATE_AWARE
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

View file

@ -20,3 +20,4 @@ obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
obj-$(CONFIG_SCHEDSTATS) += stats.o
obj-$(CONFIG_SCHED_DEBUG) += debug.o
obj-$(CONFIG_CGROUP_CPUACCT) += cpuacct.o
obj-$(CONFIG_SCHED_CORE_CTL) += core_ctl.o

1014
kernel/sched/core_ctl.c Normal file

File diff suppressed because it is too large Load diff