diff options
author | Pavankumar Kondeti <pkondeti@codeaurora.org> | 2015-12-04 06:34:03 +0530 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:25:13 -0700 |
commit | 6418f213abdc8823a7aa75fa4e504d3d83effa57 (patch) | |
tree | 6a78e00e43d4bd8ecb8391aed2a532559ec923ac /kernel/sysctl.c | |
parent | 3004236139377ad667ce13fdda58f931992fd7cc (diff) |
sched: Revise the inter cluster load balance restrictions
The frequency based inter cluster load balance restrictions are not
reliable as frequency does not provide a good estimate of the CPU's
current load. Replace them with the spill_load and spill_nr_run
based checks.
The higher capacity cluster is restricted from pulling the tasks from
the lower capacity cluster unless all of the lower capacity CPUs are
above spill. This behavior can be controlled by a sysctl tunable and
it is disabled by default (i.e. no load balance restrictions).
Change-Id: I45c09c8adcb61a8a7d4e08beadf2f97f1805fb42
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[joonwoop@codeaurora.org: fixed merge conflicts due to omitted changes
for CONFIG_SCHED_QHMP.]
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r-- | kernel/sysctl.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 878b64bfcc7a..6d637a744db6 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -410,20 +410,6 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = sched_hmp_proc_update_handler, }, - { - .procname = "sched_lowspill_freq", - .data = &sysctl_sched_lowspill_freq, - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = proc_dointvec, - }, - { - .procname = "sched_pack_freq", - .data = &sysctl_sched_pack_freq, - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = proc_dointvec, - }, #if defined(CONFIG_SCHED_FREQ_INPUT) && defined(CONFIG_SCHED_HMP) { .procname = "sched_new_task_windows", @@ -457,6 +443,15 @@ static struct ctl_table kern_table[] = { .extra2 = &one, }, { + .procname = "sched_restrict_cluster_spill", + .data = &sysctl_sched_restrict_cluster_spill, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = &zero, + .extra2 = &one, + }, + { .procname = "sched_boost", .data = &sysctl_sched_boost, .maxlen = sizeof(unsigned int), |