hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/IDC9YK -------------------------------- sched: Fix kabi for "struct task_struct *(*pick_task)(struct rq *rq)" moved out from CONFIG_SMP in struct sched_class. Fixes: e8d5470a5986 ("sched: Rework pick_next_task()") Signed-off-by: Zicheng Qu <quzicheng@huawei.com> --- kernel/sched/sched.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 05c98693f93b..eaab584caf45 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2530,7 +2530,6 @@ struct sched_class { KABI_REPLACE(void (*check_preempt_curr)(struct rq *rq, struct task_struct *p, int flags), void (*wakeup_preempt)(struct rq *rq, struct task_struct *p, int flags)) - struct task_struct *(*pick_task)(struct rq *rq); /* * Optional! When implemented pick_next_task() should be equivalent to: * @@ -2540,7 +2539,8 @@ struct sched_class { * set_next_task_first(next); * } */ - struct task_struct *(*pick_next_task)(struct rq *rq, struct task_struct *prev); + KABI_REPLACE(struct task_struct *(*pick_next_task)(struct rq *rq), + struct task_struct *(*pick_next_task)(struct rq *rq, struct task_struct *prev)) void (*put_prev_task)(struct rq *rq, struct task_struct *p); void (*set_next_task)(struct rq *rq, struct task_struct *p, bool first); @@ -2550,6 +2550,8 @@ struct sched_class { struct task_struct *prev, struct rq_flags *rf)) int (*select_task_rq)(struct task_struct *p, int task_cpu, int flags); + KABI_BROKEN_REMOVE(struct task_struct * (*pick_task)(struct rq *rq)) + void (*migrate_task_rq)(struct task_struct *p, int new_cpu); void (*task_woken)(struct rq *this_rq, struct task_struct *task); @@ -2593,6 +2595,7 @@ struct sched_class { KABI_USE(2, void (*switching_to) (struct rq *this_rq, struct task_struct *task)) KABI_EXTEND(void (*switch_class)(struct rq *rq, struct task_struct *next)) KABI_EXTEND(int (*balance)(struct rq *rq, struct task_struct *prev, struct rq_flags *rf)) + KABI_EXTEND(struct task_struct *(*pick_task)(struct rq *rq)) }; static inline void put_prev_task(struct rq *rq, struct task_struct *prev) -- 2.34.1