From: Mark Rutland <mark.rutland@arm.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org,
Mark Brown <broonie@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Marc Zyngier <maz@kernel.org>, Will Deacon <will@kernel.org>
Subject: Re: [PATCH] arm64/fpsimd: Avoid warning when sve_to_fpsimd() is unused
Date: Sat, 3 May 2025 15:52:18 +0100 [thread overview]
Message-ID: <aBYtk_Azv84QA9C3@J2N7QTR9R3> (raw)
In-Reply-To: <bb9783ec-126d-4938-a6f3-dd5930f1c3b6@app.fastmail.com>
On Sat, May 03, 2025 at 04:10:43PM +0200, Arnd Bergmann wrote:
> On Wed, Apr 30, 2025, at 19:32, Mark Rutland wrote:
> >
> > diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c
> > index b0874402f7ecc..422b9d43b1e64 100644
> > --- a/arch/arm64/kernel/fpsimd.c
> > +++ b/arch/arm64/kernel/fpsimd.c
> > @@ -649,7 +649,7 @@ static void __fpsimd_to_sve(void *sst, struct
> > user_fpsimd_state const *fst,
> > * task->thread.uw.fpsimd_state must be up to date before calling this
> > * function.
> > */
> > -static void fpsimd_to_sve(struct task_struct *task)
> > +static inline void fpsimd_to_sve(struct task_struct *task)
> > {
> > unsigned int vq;
> > void *sst = task->thread.sve_state;
>
> I just sent a different patch (adding an #ifdef) before I
> saw this one is already applied.
>
> Avoiding the #ifdef does make your version nicer, though this
> may come back later, since I think this would still be a warning
> at W=1 level, see this bit in linux/compiler.h:
>
> /*
> * GCC does not warn about unused static inline functions for -Wunused-function.
> * Suppress the warning in clang as well by using __maybe_unused, but enable it
> * for W=1 build. This will allow clang to find unused functions. Remove the
> * __inline_maybe_unused entirely after fixing most of -Wunused-function warnings.
> */
> #ifdef KBUILD_EXTRA_WARN1
> #define __inline_maybe_unused
> #else
> #define __inline_maybe_unused __maybe_unused
> #endif
> #define inline inline __gnu_inline __inline_maybe_unused notrace
>
> IIRC, gcc never warns for unused inline functions, but clang warns
> about them when they are defined in a .c file rather than a header.
Fair, though with W=1 there's an existing issue with sme_free() that no-one has
complained about:
| [mark@lakrids:~/src/linux]% git clean -qfdx
| [mark@lakrids:~/src/linux]% usekorg-llvm 19.1.0 make ARCH=arm64 LLVM=1 -s defconfig
| [mark@lakrids:~/src/linux]% ./scripts/config -d ARM64_SVE
| [mark@lakrids:~/src/linux]% usekorg-llvm 19.1.0 make ARCH=arm64 LLVM=1 -s W=1 arch/arm64/kernel/fpsimd.o
| arch/arm64/kernel/fpsimd.c:208:20: warning: unused function 'sme_free' [-Wunused-function]
| 208 | static inline void sme_free(struct task_struct *t) { }
| | ^~~~~~~~
| arch/arm64/kernel/fpsimd.c:676:20: warning: unused function 'sve_to_fpsimd' [-Wunused-function]
| 676 | static inline void sve_to_fpsimd(struct task_struct *task)
| | ^~~~~~~~~~~~~
| 2 warnings generated.
... so we'd want to do something consistent there (and probably for a
few related functions).
How important is fixing W=1? I note we have a *tonne* of warnings today;
so I assume we can punt that to a future cleanup?
Mark.
next prev parent reply other threads:[~2025-05-03 14:54 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 17:32 [PATCH] arm64/fpsimd: Avoid warning when sve_to_fpsimd() is unused Mark Rutland
2025-04-30 18:13 ` Catalin Marinas
2025-05-03 14:10 ` Arnd Bergmann
2025-05-03 14:52 ` Mark Rutland [this message]
2025-05-03 15:26 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aBYtk_Azv84QA9C3@J2N7QTR9R3 \
--to=mark.rutland@arm.com \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=maz@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.