diff options
author | Morten Rasmussen <morten.rasmussen@arm.com> | 2012-10-12 15:25:02 +0100 |
---|---|---|
committer | Viresh Kumar <viresh.kumar@linaro.org> | 2012-11-14 09:22:10 +0530 |
commit | 604ee9ad2616f510cdc85808f23b4c129ebf6ba0 (patch) | |
tree | eaae3f8dce9d8b1ea98e7e074cd1bffdf1c11a59 /kernel/sched/fair.c | |
parent | 0150c78ec1843b595814d4f1afecea48c760ff47 (diff) |
sched: Only down migrate low priority tasks if allowed by affinity mask
Adds an extra check intersection of the task affinity mask and the slower
hmp_domain cpumask before down migrating low priority tasks.
Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
Diffstat (limited to 'kernel/sched/fair.c')
-rw-r--r-- | kernel/sched/fair.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index e6132604288..cc4882ddec3 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -5667,8 +5667,11 @@ static unsigned int hmp_down_migration(int cpu, struct sched_entity *se) #ifdef CONFIG_SCHED_HMP_PRIO_FILTER /* Filter by task priority */ - if (p->prio >= hmp_up_prio) + if ((p->prio >= hmp_up_prio) && + cpumask_intersects(&hmp_slower_domain(cpu)->cpus, + tsk_cpus_allowed(p))) { return 1; + } #endif /* Let the task load settle before doing another down migration */ |