2021-07-23 09:18:29

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] smpboot: remove duplicate inline keyword

From: Arnd Bergmann <[email protected]>

'static inline void __always_inline' is one more 'inline' than needed,
and it's in the wrong place as gcc points out when extra warnings
are enabled:

kernel/smpboot.c:50:1: error: 'inline' is not at beginning of declaration [-Werror=old-style-declaration]
50 | static inline void __always_inline idle_init(unsigned int cpu)

Move it to the right place instead.

Fixes: e9ba16e68cce ("smpboot: Mark idle_init() as __always_inlined to work around aggressive compiler un-inlining")
Signed-off-by: Arnd Bergmann <[email protected]>
---
kernel/smpboot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/smpboot.c b/kernel/smpboot.c
index 21b7953f8242..cf6acab78538 100644
--- a/kernel/smpboot.c
+++ b/kernel/smpboot.c
@@ -47,7 +47,7 @@ void __init idle_thread_set_boot_cpu(void)
*
* Creates the thread if it does not exist.
*/
-static inline void __always_inline idle_init(unsigned int cpu)
+static __always_inline void idle_init(unsigned int cpu)
{
struct task_struct *tsk = per_cpu(idle_threads, cpu);

--
2.29.2


2021-07-23 15:32:38

by Valentin Schneider

[permalink] [raw]
Subject: Re: [PATCH] smpboot: remove duplicate inline keyword


Hi,

On 23/07/21 11:16, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> 'static inline void __always_inline' is one more 'inline' than needed,
> and it's in the wrong place as gcc points out when extra warnings
> are enabled:
>
> kernel/smpboot.c:50:1: error: 'inline' is not at beginning of declaration [-Werror=old-style-declaration]
> 50 | static inline void __always_inline idle_init(unsigned int cpu)
>
> Move it to the right place instead.
>
> Fixes: e9ba16e68cce ("smpboot: Mark idle_init() as __always_inlined to work around aggressive compiler un-inlining")
> Signed-off-by: Arnd Bergmann <[email protected]>

Colin sent a similar fix at:

http://lore.kernel.org/r/[email protected]

Now AFAICT the incriminated patch is in tip/core/urgent and
linux-next/master, but not in the current mainline. If so, this could be
fixed up before it gets pulled.