diff options
| author | Syed Rameez Mustafa <rameezmustafa@codeaurora.org> | 2014-06-12 10:47:12 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 19:59:32 -0700 |
| commit | a536cf8ac858ac8388272d98f9baf8e7ba25b646 (patch) | |
| tree | 3d9e3a8e85c50d225d8f75a6237d40710b018b21 /kernel/sysctl.c | |
| parent | 8e7389b5c2130b62ceafb7cc9d6a2ae00bfbcf5a (diff) | |
sched: Introduce spill threshold tunables to manage overcommitment
When the number of tasks intended for a cluster exceed the number of
mostly idle CPUs in that cluster, the scheduler currently freely uses
CPUs in other clusters if possible. While this is optimal for
performance the power trade off can be quite significant. Introduce
spill threshold tunables that govern the extent to which the scheduler
should attempt to contain tasks within a cluster.
Change-Id: I797e6c6b2aa0c3a376dad93758abe1d587663624
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
[rameezmustafa@codeaurora.org]: Port to msm-3.18]
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org
[joonwoop@codeaurora.org: fixed conflict in nohz_kick_needed()]
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Diffstat (limited to 'kernel/sysctl.c')
| -rw-r--r-- | kernel/sysctl.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 4560a50a4558..66fc408900c2 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -347,6 +347,20 @@ static struct ctl_table kern_table[] = { .proc_handler = proc_dointvec, }, { + .procname = "sched_spill_load", + .data = &sysctl_sched_spill_load_pct, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = sched_hmp_proc_update_handler, + }, + { + .procname = "sched_spill_nr_run", + .data = &sysctl_sched_spill_nr_run, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = proc_dointvec, + }, + { .procname = "sched_upmigrate", .data = &sysctl_sched_upmigrate_pct, .maxlen = sizeof(unsigned int), @@ -381,6 +395,13 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = proc_dointvec, }, + { + .procname = "sched_power_band_limit", + .data = &sysctl_sched_powerband_limit_pct, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = sched_hmp_proc_update_handler, + }, #endif /* CONFIG_SCHED_HMP */ #ifdef CONFIG_SCHED_DEBUG { |
