summaryrefslogtreecommitdiff
path: root/kernel/sched
diff options
context:
space:
mode:
authorPavankumar Kondeti <pkondeti@codeaurora.org>2016-01-29 10:06:18 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:25:18 -0700
commit58d411413ffb4c5945948609eb370e287447b5c1 (patch)
tree577e3c78ef422529274c8f3e06bd08602b739ef2 /kernel/sched
parent6d742ce87b0337f422edf9c114357758e6feb01f (diff)
sched: let sched_boost take precedence over sched_restrict_cluster_spill
When sched_restrict_cluster_spill knob is enabled, RT tasks are restricted to lower power cluster. This knob also restricts inter cluster no-hz kicks. Ignore this knob setting when sched_boost is enabled so that tasks are placed on CPUs with highest spare capacity. CRs-Fixed: 968852 Change-Id: I01b3fc10b39dc834a733d64c2ee29c308d7ff730 Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/fair.c2
-rw-r--r--kernel/sched/rt.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index f757c47def9d..a0105decf5ca 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -10088,7 +10088,7 @@ static inline int _nohz_kick_needed_hmp(struct rq *rq, int cpu, int *type)
if (rq->nr_running < 2)
return 0;
- if (!sysctl_sched_restrict_cluster_spill)
+ if (!sysctl_sched_restrict_cluster_spill || sched_boost())
return 1;
if (hmp_capable() && cpu_max_possible_capacity(cpu) ==
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 2fa7f9cdb9e2..cfec881491ef 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -1673,7 +1673,8 @@ static int find_lowest_rq_hmp(struct task_struct *task)
int prev_cpu = task_cpu(task);
u64 cpu_load, min_load = ULLONG_MAX;
int i;
- int restrict_cluster = sysctl_sched_restrict_cluster_spill;
+ int restrict_cluster = sched_boost() ? 0 :
+ sysctl_sched_restrict_cluster_spill;
/* Make sure the mask is initialized first */
if (unlikely(!lowest_mask))