From 6acd93ad48602d122160bc68796ead10d2998102 Mon Sep 17 00:00:00 2001 From: Stephen Dickey Date: Wed, 9 Mar 2022 15:36:49 -0800 Subject: [PATCH] sched/walt: walt hooks skipped during rt throttling Currently, walt maintains cra and adds demand when enqueue task happens and subtracts from it when dequeue happens. However, when an rt task is throttled, walt is not informed of the dequeue. This leads to a residual demand when the idle task switches in post throttling leading to walt accounting error. Remove that specific accounting check since it is hard to inform WALT of the throttle dequeue and unthrottle enqueue, until rt can be fixed to support walt accounting in the throttling case. Change-Id: If1416a61fbe3979253a42cb82990b7b13ad2c4eb Signed-off-by: Stephen Dickey --- kernel/sched/walt/walt.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/kernel/sched/walt/walt.c b/kernel/sched/walt/walt.c index 09bf4f5ba25c..a7a54afe4c80 100644 --- a/kernel/sched/walt/walt.c +++ b/kernel/sched/walt/walt.c @@ -4152,7 +4152,6 @@ static void android_rvh_schedule(void *unused, struct task_struct *prev, { u64 wallclock; struct walt_task_struct *wts = (struct walt_task_struct *) prev->android_vendor_data1; - struct walt_rq *wrq = (struct walt_rq *) rq->android_vendor_data1; if (unlikely(walt_disabled)) return; @@ -4164,9 +4163,6 @@ static void android_rvh_schedule(void *unused, struct task_struct *prev, wts->last_sleep_ts = wallclock; walt_update_task_ravg(prev, rq, PUT_PREV_TASK, wallclock, 0); walt_update_task_ravg(next, rq, PICK_NEXT_TASK, wallclock, 0); - if (is_idle_task(next) && wrq->walt_stats.cumulative_runnable_avg_scaled != 0) - WALT_BUG(WALT_BUG_WALT, next, "next=idle cra non zero=%d\n", - wrq->walt_stats.cumulative_runnable_avg_scaled); } else { walt_update_task_ravg(prev, rq, TASK_UPDATE, wallclock, 0); }