[PATCH] sched: fix undefined rt.c declarations

From: Ben Dooks
Date: Thu Jul 21 2022 - 11:23:15 EST


There are several symbols defined in sched.h but get wrapped in the
CONFIG_CGROUP_SCHED even though dummy versions get built in rt.c and
therefore trigger the sparse warnings below. Fix this by moving them
outside the CONFIG_CGROUP_SCHED block.

kernel/sched/rt.c:309:6: warning: symbol 'unregister_rt_sched_group' was not declared. Should it be static?
kernel/sched/rt.c:311:6: warning: symbol 'free_rt_sched_group' was not declared. Should it be static?
kernel/sched/rt.c:313:5: warning: symbol 'alloc_rt_sched_group' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx>
---
kernel/sched/sched.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 47b89a0fc6e5..8f97f342c560 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -480,9 +480,6 @@ extern void __refill_cfs_bandwidth_runtime(struct cfs_bandwidth *cfs_b);
extern void start_cfs_bandwidth(struct cfs_bandwidth *cfs_b);
extern void unthrottle_cfs_rq(struct cfs_rq *cfs_rq);

-extern void unregister_rt_sched_group(struct task_group *tg);
-extern void free_rt_sched_group(struct task_group *tg);
-extern int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent);
extern void init_tg_rt_entry(struct task_group *tg, struct rt_rq *rt_rq,
struct sched_rt_entity *rt_se, int cpu,
struct sched_rt_entity *parent);
@@ -520,6 +517,10 @@ struct cfs_bandwidth { };

#endif /* CONFIG_CGROUP_SCHED */

+extern void unregister_rt_sched_group(struct task_group *tg);
+extern void free_rt_sched_group(struct task_group *tg);
+extern int alloc_rt_sched_group(struct task_group *tg, struct task_group *parent);
+
/* CFS-related fields in a runqueue */
struct cfs_rq {
struct load_weight load;
--
2.35.1