From 52daa017317ef34deff05a0866faf775414c1a94 Mon Sep 17 00:00:00 2001 From: Shaleen Agrawal Date: Tue, 28 Sep 2021 09:51:37 -0700 Subject: [PATCH] sched: walt: Don't crash unless crash mode enabled When crashing is not enabled, let WALT attempt to correct behavior. Change-Id: Ica1c6a8aff465c5747db9acd0e16d99a7c2c4128 Signed-off-by: Shaleen Agrawal --- kernel/sched/walt/walt.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/kernel/sched/walt/walt.c b/kernel/sched/walt/walt.c index e8dad614e7f3..18117b421121 100644 --- a/kernel/sched/walt/walt.c +++ b/kernel/sched/walt/walt.c @@ -694,10 +694,26 @@ static inline void account_load_subtractions(struct rq *rq) ls[i].new_subs = 0; } - WALT_PANIC((s64)wrq->prev_runnable_sum < 0); - WALT_PANIC((s64)wrq->curr_runnable_sum < 0); - WALT_PANIC((s64)wrq->nt_prev_runnable_sum < 0); - WALT_PANIC((s64)wrq->nt_curr_runnable_sum < 0); + if ((s64)wrq->prev_runnable_sum < 0) { + WALT_BUG(NULL, "wrq->prev_runnable_sum=%llu < 0", + (s64)wrq->prev_runnable_sum); + wrq->prev_runnable_sum = 0; + } + if ((s64)wrq->curr_runnable_sum < 0) { + WALT_BUG(NULL, "wrq->curr_runnable_sum=%llu < 0", + (s64)wrq->curr_runnable_sum); + wrq->curr_runnable_sum = 0; + } + if ((s64)wrq->nt_prev_runnable_sum < 0) { + WALT_BUG(NULL, "wrq->nt_prev_runnable_sum=%llu < 0", + (s64)wrq->nt_prev_runnable_sum); + wrq->nt_prev_runnable_sum = 0; + } + if ((s64)wrq->nt_curr_runnable_sum < 0) { + WALT_BUG(NULL, "wrq->nt_curr_runnable_sum=%llu < 0", + (s64)wrq->nt_curr_runnable_sum); + wrq->nt_curr_runnable_sum = 0; + } } static inline void create_subtraction_entry(struct rq *rq, u64 ws, int index)