summaryrefslogtreecommitdiff
path: root/kernel/sched/hmp.c
diff options
context:
space:
mode:
authorPavankumar Kondeti <pkondeti@codeaurora.org>2017-05-10 15:43:29 +0530
committerPavankumar Kondeti <pkondeti@codeaurora.org>2017-05-31 08:33:48 +0530
commit57fd979fc92aac87bc6745883940d32fbdeb4ac4 (patch)
tree091e3dd0e0381f295f57e68b2fdc5ff96ee336df /kernel/sched/hmp.c
parentf37f0680d728df428d75278597402c53b34366b0 (diff)
core_ctl: un-isolate BIG CPUs more aggressively
The current algorithm to bring additional BIG CPUs is very conservative. It works when BIG tasks alone run on BIG cluster. When co-location and scheduler boost features are activated, small/medium tasks also run on BIG cluster. We don't want these tasks to downmigrate, when BIG CPUs are available but isolated. The following changes are done to un-isolate CPUs more aggressively. (1) Round up the big_avg. When the big_avg indicates that there are 1.5 tasks on an average in the last window, it indicates that we need 2 BIG CPUs not 1 BIG CPU. (2) Track the maximum number of running tasks in the last window on all CPUs. If any of the CPU in a cluster has more than 4 runnable tasks in the last window, bring an additional CPU to help out. Change-Id: Id05d9983af290760cec6d93d1bdc45bc5e924cce Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Diffstat (limited to 'kernel/sched/hmp.c')
-rw-r--r--kernel/sched/hmp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/hmp.c b/kernel/sched/hmp.c
index 0591975de3bf..37d24bb17c76 100644
--- a/kernel/sched/hmp.c
+++ b/kernel/sched/hmp.c
@@ -1602,7 +1602,7 @@ unsigned int nr_eligible_big_tasks(int cpu)
int nr_big = rq->hmp_stats.nr_big_tasks;
int nr = rq->nr_running;
- if (cpu_max_possible_capacity(cpu) != max_possible_capacity)
+ if (!is_max_capacity_cpu(cpu))
return nr_big;
return nr;