2021-05-29 02:32:47

by Bixuan Cui

[permalink] [raw]
Subject: [PATCH -next] sched: make sched_set_stop_task() static

make W=1 generates the following warning for kernel/sched/core.c:
warning: no previous prototype for ‘sched_set_stop_task’ [-Wmissing-prototypes]

Signed-off-by: Bixuan Cui <[email protected]>
---
kernel/sched/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index adea0b1e8036..1c1e9612018b 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3209,7 +3209,7 @@ int select_task_rq(struct task_struct *p, int cpu, int wake_flags)
return cpu;
}

-void sched_set_stop_task(int cpu, struct task_struct *stop)
+static void sched_set_stop_task(int cpu, struct task_struct *stop)
{
static struct lock_class_key stop_pi_lock;
struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 };
--
2.17.1


2021-05-29 02:38:00

by Bixuan Cui

[permalink] [raw]
Subject: Re: [PATCH -next] sched: make sched_set_stop_task() static



On 2021/5/29 10:29, Bixuan Cui wrote:
> make W=1 generates the following warning for kernel/sched/core.c:
> warning: no previous prototype for ‘sched_set_stop_task’ [-Wmissing-prototypes]
>
> Signed-off-by: Bixuan Cui <[email protected]>
> ---
> kernel/sched/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index adea0b1e8036..1c1e9612018b 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -3209,7 +3209,7 @@ int select_task_rq(struct task_struct *p, int cpu, int wake_flags)
> return cpu;
> }
>
> -void sched_set_stop_task(int cpu, struct task_struct *stop)
> +static void sched_set_stop_task(int cpu, struct task_struct *stop)
> {
> static struct lock_class_key stop_pi_lock;
> struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 };
Hi, This patch will cause compilation errors. Please ignore it. :-(

Thanks
Bixuan Cui



>

2021-05-31 07:36:54

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH -next] sched: make sched_set_stop_task() static

On Sat, May 29, 2021 at 10:29:56AM +0800, Bixuan Cui wrote:
> make W=1 generates the following warning for kernel/sched/core.c:
> warning: no previous prototype for ‘sched_set_stop_task’ [-Wmissing-prototypes]
>
> Signed-off-by: Bixuan Cui <[email protected]>
> ---
> kernel/sched/core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index adea0b1e8036..1c1e9612018b 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -3209,7 +3209,7 @@ int select_task_rq(struct task_struct *p, int cpu, int wake_flags)
> return cpu;
> }
>
> -void sched_set_stop_task(int cpu, struct task_struct *stop)
> +static void sched_set_stop_task(int cpu, struct task_struct *stop)
> {
> static struct lock_class_key stop_pi_lock;
> struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 };

Clearly you tested this well...

$ git grep sched_set_stop_task
kernel/sched/core.c:void sched_set_stop_task(int cpu, struct task_struct *stop)
kernel/stop_machine.c:extern void sched_set_stop_task(int cpu, struct task_struct *stop);
kernel/stop_machine.c: sched_set_stop_task(cpu, per_cpu(cpu_stopper.thread, cpu));

Please be more careful.