From: Tejun Heo Date: Wed, 4 Sep 2024 07:54:29 +0000 (-1000) Subject: sched_ext: Remove sched_class->switch_class() X-Git-Tag: v6.12-rc1~111^2~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=37cb049ef8b89e97d735f5cf7e34ef3f85ed6d94;p=thirdparty%2Fkernel%2Flinux.git sched_ext: Remove sched_class->switch_class() With sched_ext converted to use put_prev_task() for class switch detection, there's no user of switch_class() left. Drop it. Signed-off-by: Tejun Heo Cc: Peter Zijlstra --- diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 91bedf5d9f893..df56301bfa972 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5965,22 +5965,12 @@ restart: for_each_active_class(class) { if (class->pick_next_task) { p = class->pick_next_task(rq, prev); - if (p) { - const struct sched_class *prev_class = prev->sched_class; - - if (class != prev_class && prev_class->switch_class) - prev_class->switch_class(rq, p); + if (p) return p; - } } else { p = class->pick_task(rq); if (p) { - const struct sched_class *prev_class = prev->sched_class; - put_prev_set_next_task(rq, prev, p); - - if (class != prev_class && prev_class->switch_class) - prev_class->switch_class(rq, p); return p; } } diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 477e7a861d10d..73ba0cfe42264 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2385,8 +2385,6 @@ struct sched_class { void (*put_prev_task)(struct rq *rq, struct task_struct *p, struct task_struct *next); void (*set_next_task)(struct rq *rq, struct task_struct *p, bool first); - void (*switch_class)(struct rq *rq, struct task_struct *next); - #ifdef CONFIG_SMP int (*select_task_rq)(struct task_struct *p, int task_cpu, int flags);