From 6fff83754b379c5c271248b1dd67beb0209efef2 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Fri, 12 Feb 2021 13:21:46 +0530 Subject: [PATCH] sched/walt: Fix misfit accounting issues Currently we are using task_fits_capacity() for misfit task accounting. This does not consider boost scenarios. We also end up accounting 100% tasks running on the highest capacity CPU as misfit. A task on the highest capacity CPU should never be treated as misfit. rq->misfit_task_load should use task_util() not task_load(). The later is task demand scaled to sched_ravg_window in nano seconds. Change-Id: I1f923e33530d2d04d7bfca9dd42920f799794864 Signed-off-by: Pavankumar Kondeti --- kernel/sched/walt/walt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/walt/walt.c b/kernel/sched/walt/walt.c index c7a4984a4659..fc9d05e02fbe 100644 --- a/kernel/sched/walt/walt.c +++ b/kernel/sched/walt/walt.c @@ -3800,10 +3800,10 @@ static void android_rvh_update_misfit_status(void *unused, struct task_struct *p wts = (struct walt_task_struct *) p->android_vendor_data1; old_misfit = wts->misfit; - if (task_fits_capacity(p, capacity_orig_of(cpu_of(rq)), rq->cpu)) + if (task_fits_max(p, rq->cpu)) rq->misfit_task_load = 0; else - rq->misfit_task_load = task_load(p); + rq->misfit_task_load = task_util(p); misfit = rq->misfit_task_load;