hulk inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/IDC9YK -------------------------------- sched_ext: Fix kabi for function attribute balance moved out of the SMP scope in struct sched_class. Fixes: ce3f1dc3f0c2 ("sched_ext: Simplify UP support by enabling sched_class->balance() in UP") Signed-off-by: Zicheng Qu <quzicheng@huawei.com> --- kernel/sched/sched.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 45776570014b..68bd9d14250c 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2527,13 +2527,14 @@ 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)) - int (*balance)(struct rq *rq, struct task_struct *prev, struct rq_flags *rf); struct task_struct *(*pick_next_task)(struct rq *rq); void (*put_prev_task)(struct rq *rq, struct task_struct *p); void (*set_next_task)(struct rq *rq, struct task_struct *p, bool first); #ifdef CONFIG_SMP + KABI_BROKEN_REMOVE(int (*balance)(struct rq *rq, + struct task_struct *prev, struct rq_flags *rf)) int (*select_task_rq)(struct task_struct *p, int task_cpu, int flags); struct task_struct * (*pick_task)(struct rq *rq); @@ -2580,6 +2581,7 @@ struct sched_class { struct task_struct *task, const struct load_weight *lw)) 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)) }; static inline void put_prev_task(struct rq *rq, struct task_struct *prev) -- 2.34.1