From 84e2b5dca77d370de77da3e4e7d7468aebbeff4b Mon Sep 17 00:00:00 2001 From: Cruz Zhao Date: Fri, 6 Jun 2025 17:06:36 +0800 Subject: [PATCH] anolis: sched/fair: fix the bug of task_is_idle() ANBZ: #21680 In function task_is_idle(), we should use cfs_rq_of() instead of group_cfs_rq() to get the cfs_rq of task. Fixes: e00064b75c20 ("anolis: sched: introduce simplified proxy execution for jbd2_lock") Signed-off-by: Cruz Zhao --- kernel/sched/fair.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 5161000eec0a..2ba167b9d187 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -549,7 +549,8 @@ static int se_is_idle(struct sched_entity *se) int task_is_idle(struct task_struct *p) { - return task_has_idle_policy(p) || cfs_rq_is_idle(group_cfs_rq(&p->se)); + return (p->sched_class == &fair_sched_class) && + (task_has_idle_policy(p) || cfs_rq_is_idle(cfs_rq_of(&p->se))); } static __always_inline -- Gitee