summaryrefslogtreecommitdiff
path: root/kernel/sched/hmp.c
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-02-15 17:01:25 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-02-15 17:01:25 -0800
commit8da6726d4885558c03c33363eae4cdcdb1ec237e (patch)
treefa747902f3842d5059ee661475c2c4ba69a85ea8 /kernel/sched/hmp.c
parentbbce9fd4e565d7f8f91351704c0160117f956ab8 (diff)
parentab05391aa67a92f2e06ad754606e7139de7f684b (diff)
Merge "sched: don't assume higher capacity means higher power in tick migration"
Diffstat (limited to 'kernel/sched/hmp.c')
-rw-r--r--kernel/sched/hmp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/sched/hmp.c b/kernel/sched/hmp.c
index 3acf96d1f1d6..744c60dfb4fb 100644
--- a/kernel/sched/hmp.c
+++ b/kernel/sched/hmp.c
@@ -455,6 +455,12 @@ compare_clusters(void *priv, struct list_head *a, struct list_head *b)
cluster1 = container_of(a, struct sched_cluster, list);
cluster2 = container_of(b, struct sched_cluster, list);
+ /*
+ * Don't assume higher capacity means higher power. If the
+ * power cost is same, sort the higher capacity cluster before
+ * the lower capacity cluster to start placing the tasks
+ * on the higher capacity cluster.
+ */
ret = cluster1->max_power_cost > cluster2->max_power_cost ||
(cluster1->max_power_cost == cluster2->max_power_cost &&
cluster1->max_possible_capacity <