aboutsummaryrefslogtreecommitdiff
path: root/kernel/sched/core.c
diff options
context:
space:
mode:
authorJon Medhurst (Tixy) <tixy@linaro.org>2013-08-02 18:45:33 +0100
committerJon Medhurst <tixy@linaro.org>2013-09-05 17:50:06 +0100
commit0d5ddd14a8e67d35fad79caf479cca54a6788cc9 (patch)
tree7bf034ad31d46e2ce253bc1aaa2c19f679ab1eab /kernel/sched/core.c
parent4ab2679351e9566a6b0822f2d841a902758ba066 (diff)
downloadlinaro-lsk-0d5ddd14a8e67d35fad79caf479cca54a6788cc9.tar.gz
HMP: Check the system has little cpus before forcing rt tasks onto them
It is sometimes desirable to run a kernel with HMP scheduling enabled on a system which is not big.LITTLE, e.g. when building a multi-platform kernel, or when testing a big.LITTLE system with one cluster disabled. We should therefore allow for the situation where is no little domain. Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'kernel/sched/core.c')
-rw-r--r--kernel/sched/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 50d9e9849ce..fb9b7b74a83 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3841,8 +3841,9 @@ __setscheduler(struct rq *rq, struct task_struct *p, int policy, int prio)
if (rt_prio(p->prio)) {
p->sched_class = &rt_sched_class;
#ifdef CONFIG_SCHED_HMP
- if (cpumask_equal(&p->cpus_allowed, cpu_all_mask))
- do_set_cpus_allowed(p, &hmp_slow_cpu_mask);
+ if (!cpumask_empty(&hmp_slow_cpu_mask))
+ if (cpumask_equal(&p->cpus_allowed, cpu_all_mask))
+ do_set_cpus_allowed(p, &hmp_slow_cpu_mask);
#endif
}
else