summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Muckle <smuckle@codeaurora.org>2014-07-22 14:10:15 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 19:59:56 -0700
commitb32244628fe20dde5b5175dc4dbc6c562d09df77 (patch)
treeed09445b119153a3a01eb5fcdbaf95f0c891aefe
parentf27b626521a14ebe9b9cfa692d59dcd72c1b4def (diff)
sched: enable hmp, power aware scheduling for targets with > 4 CPUs
Enabling and disabling hmp/power-aware scheduling is meant to be done via kernel command line options. Until that is fully supported however, take advantage of the fact that current targets with more than 4 CPUs will need these features. Change-Id: I4916805881d58eeb54747e4b972816ffc96caae7 Signed-off-by: Steve Muckle <smuckle@codeaurora.org> Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
-rw-r--r--kernel/sched/core.c8
-rw-r--r--kernel/sched/fair.c4
2 files changed, 10 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 98bd1a6dc02b..05f941f84343 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -8308,6 +8308,14 @@ void __init sched_init(void)
int i, j;
unsigned long alloc_size = 0, ptr;
+#ifdef CONFIG_SCHED_HMP
+ if (num_possible_cpus() > 4)
+ sched_enable_hmp = sched_enable_power_aware = 1;
+
+ if (sched_enable_hmp)
+ pr_info("HMP scheduling enabled.\n");
+#endif
+
BUG_ON(num_possible_cpus() > BITS_PER_LONG);
#ifdef CONFIG_FAIR_GROUP_SCHED
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 69efaf68e7e2..14904696fc63 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -2564,7 +2564,7 @@ unsigned int max_task_load(void)
#ifdef CONFIG_SCHED_HMP
/* Use this knob to turn on or off HMP-aware task placement logic */
-unsigned int __read_mostly sched_enable_hmp = 1;
+unsigned int __read_mostly sched_enable_hmp = 0;
/* A cpu can no longer accomodate more tasks if:
*
@@ -2585,7 +2585,7 @@ unsigned int __read_mostly sysctl_sched_mostly_idle_nr_run = 3;
* Control whether or not individual CPU power consumption is used to
* guide task placement.
*/
-unsigned int __read_mostly sched_enable_power_aware = 1;
+unsigned int __read_mostly sched_enable_power_aware = 0;
/*
* This specifies the maximum percent power difference between 2