From c65251c440fb7851e9a7980eef60422ed3ca28af Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Mon, 29 Jun 2020 16:01:33 +0800 Subject: [PATCH] sched/fair: do not use boosted margin for prefer_high_cap case For prefer_high_cap case, it will start from mid/max cpu already, so there is no need to use boosted margin for task placement. Bug: 160082718 Test: tasks scheduled as expected Signed-off-by: Rick Yiu Change-Id: I4df27b1e468484f5d9aedfa57ee444f397a8da81 --- kernel/sched/fair.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 44011cb9642d..f69ddd6786ef 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -3973,11 +3973,13 @@ static inline bool task_fits_capacity(struct task_struct *p, * CPU. */ if (capacity_orig_of(task_cpu(p)) > capacity_orig_of(cpu)) - margin = schedtune_task_boost(p) > 0 ? + margin = schedtune_task_boost(p) > 0 && + !schedtune_prefer_high_cap(p) ? sched_capacity_margin_down_boosted[task_cpu(p)] : sched_capacity_margin_down[task_cpu(p)]; else - margin = schedtune_task_boost(p) > 0 ? + margin = schedtune_task_boost(p) > 0 && + !schedtune_prefer_high_cap(p) ? sched_capacity_margin_up_boosted[task_cpu(p)] : sched_capacity_margin_up[task_cpu(p)];