| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: Chris Redpath <chris.redpath@arm.com> |
| Date: Tue, 5 Jun 2018 12:21:33 +0100 |
| Subject: ANDROID: sched/fair: Also do misfit in overloaded groups |
| |
| If we can classify the group as overloaded, that overrides |
| any classification as misfit but we may still have misfit |
| tasks present. Check the rq we're looking at to see if |
| this is the case. |
| |
| Change-Id: Ida8eb66aa625e34de3fe2ee1b0dd8a78926273d8 |
| Signed-off-by: Chris Redpath <chris.redpath@arm.com> |
| [Removed stray reference to rq_has_misfit] |
| Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> |
| Signed-off-by: Quentin Perret <quentin.perret@arm.com> |
| --- |
| kernel/sched/fair.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c |
| index c1dfa3636f20..337d113dd34e 100644 |
| --- a/kernel/sched/fair.c |
| +++ b/kernel/sched/fair.c |
| @@ -8815,6 +8815,9 @@ static int need_active_balance(struct lb_env *env) |
| if (voluntary_active_balance(env)) |
| return 1; |
| |
| + if (env->src_grp_type == group_overloaded && env->src_rq->misfit_task_load) |
| + return 1; |
| + |
| return unlikely(sd->nr_balance_failed > sd->cache_nice_tries+2); |
| } |
| |