2018-11-13 00:53:33

by Yi Wang

[permalink] [raw]
Subject: [PATCH] sched/rt: Fix -Wmissing-prototypes warnings

We get a warning when building kernel with W=1:
kernel/sched/rt.c:626:6: warning: no previous prototype for ‘sched_rt_bandwidth_account’ [-Wmissing-prototypes]
bool sched_rt_bandwidth_account(struct rt_rq *rt_rq)

Add the missing declaration to fix this.

Signed-off-by: Yi Wang <[email protected]>
---
kernel/sched/sched.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 618577f..f5f29fc 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -442,6 +442,7 @@ extern void init_tg_cfs_entry(struct task_group *tg, struct cfs_rq *cfs_rq,

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 bool sched_rt_bandwidth_account(struct rt_rq *rt_rq);
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);
--
1.8.3.1



2018-11-20 14:54:40

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH] sched/rt: Fix -Wmissing-prototypes warnings

On Tue, Nov 13, 2018 at 08:54:34AM +0800, Yi Wang wrote:
> We get a warning when building kernel with W=1:
> kernel/sched/rt.c:626:6: warning: no previous prototype for ‘sched_rt_bandwidth_account’ [-Wmissing-prototypes]
> bool sched_rt_bandwidth_account(struct rt_rq *rt_rq)
>
> Add the missing declaration to fix this.
>
> Signed-off-by: Yi Wang <[email protected]>
> ---
> kernel/sched/sched.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
> index 618577f..f5f29fc 100644
> --- a/kernel/sched/sched.h
> +++ b/kernel/sched/sched.h
> @@ -442,6 +442,7 @@ extern void init_tg_cfs_entry(struct task_group *tg, struct cfs_rq *cfs_rq,
>
> 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 bool sched_rt_bandwidth_account(struct rt_rq *rt_rq);
> 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);

This would then also render the declaration in sched/deadline.c
redundant.

Or am I missing something?