]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
sched_ext: Remove sched_class->switch_class()
authorTejun Heo <tj@kernel.org>
Wed, 4 Sep 2024 07:54:29 +0000 (21:54 -1000)
committerTejun Heo <tj@kernel.org>
Wed, 4 Sep 2024 07:54:29 +0000 (21:54 -1000)
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 <tj@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
kernel/sched/core.c
kernel/sched/sched.h

index 91bedf5d9f89375a0744e9d56a0e1dac7e3059d8..df56301bfa972ab08e7886b94286b7e727c7d13a 100644 (file)
@@ -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;
                        }
                }
index 477e7a861d10dc0a5b9e460eee0fb1777c9b7ce8..73ba0cfe42264e26158a51a50cba22c248179084 100644 (file)
@@ -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);