* [PATCH v1 1/1] sched/fair: Mark some static const with __maybe_unused
@ 2025-04-04 16:52 Andy Shevchenko
2025-04-04 17:08 ` Waiman Long
2025-04-05 9:16 ` Arnd Bergmann
0 siblings, 2 replies; 4+ messages in thread
From: Andy Shevchenko @ 2025-04-04 16:52 UTC (permalink / raw)
To: Andy Shevchenko, linux-kernel
Cc: Peter Zijlstra, Ingo Molnar, Will Deacon, Boqun Feng, Waiman Long,
Arnd Bergmann
GCC considers that some static const defined in the lockdep_internals.h
are unused, which prevents `make W=1` and CONFIG_WERROR=y builds:
kernel/locking/lockdep_internals.h:69:28: error: ‘LOCKF_USED_IN_IRQ_READ’ defined but not used [-Werror=unused-const-variable=]
69 | static const unsigned long LOCKF_USED_IN_IRQ_READ =
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/locking/lockdep_internals.h:63:28: error: ‘LOCKF_ENABLED_IRQ_READ’ defined but not used [-Werror=unused-const-variable=]
63 | static const unsigned long LOCKF_ENABLED_IRQ_READ =
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/locking/lockdep_internals.h:57:28: error: ‘LOCKF_USED_IN_IRQ’ defined but not used [-Werror=unused-const-variable=]
57 | static const unsigned long LOCKF_USED_IN_IRQ =
| ^~~~~~~~~~~~~~~~~
kernel/locking/lockdep_internals.h:51:28: error: ‘LOCKF_ENABLED_IRQ’ defined but not used [-Werror=unused-const-variable=]
51 | static const unsigned long LOCKF_ENABLED_IRQ =
| ^~~~~~~~~~~~~~~~~
Fix this by marking them with __maybe_unused.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
kernel/locking/lockdep_internals.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
index 20f9ef58d3d0..82e71335f367 100644
--- a/kernel/locking/lockdep_internals.h
+++ b/kernel/locking/lockdep_internals.h
@@ -48,25 +48,25 @@ enum {
};
#define LOCKDEP_STATE(__STATE) LOCKF_ENABLED_##__STATE |
-static const unsigned long LOCKF_ENABLED_IRQ =
+static __maybe_unused const unsigned long LOCKF_ENABLED_IRQ =
#include "lockdep_states.h"
0;
#undef LOCKDEP_STATE
#define LOCKDEP_STATE(__STATE) LOCKF_USED_IN_##__STATE |
-static const unsigned long LOCKF_USED_IN_IRQ =
+static __maybe_unused const unsigned long LOCKF_USED_IN_IRQ =
#include "lockdep_states.h"
0;
#undef LOCKDEP_STATE
#define LOCKDEP_STATE(__STATE) LOCKF_ENABLED_##__STATE##_READ |
-static const unsigned long LOCKF_ENABLED_IRQ_READ =
+static __maybe_unused const unsigned long LOCKF_ENABLED_IRQ_READ =
#include "lockdep_states.h"
0;
#undef LOCKDEP_STATE
#define LOCKDEP_STATE(__STATE) LOCKF_USED_IN_##__STATE##_READ |
-static const unsigned long LOCKF_USED_IN_IRQ_READ =
+static __maybe_unused const unsigned long LOCKF_USED_IN_IRQ_READ =
#include "lockdep_states.h"
0;
#undef LOCKDEP_STATE
--
2.47.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1 1/1] sched/fair: Mark some static const with __maybe_unused
2025-04-04 16:52 [PATCH v1 1/1] sched/fair: Mark some static const with __maybe_unused Andy Shevchenko
@ 2025-04-04 17:08 ` Waiman Long
2025-04-05 9:16 ` Arnd Bergmann
1 sibling, 0 replies; 4+ messages in thread
From: Waiman Long @ 2025-04-04 17:08 UTC (permalink / raw)
To: Andy Shevchenko, linux-kernel
Cc: Peter Zijlstra, Ingo Molnar, Will Deacon, Boqun Feng,
Arnd Bergmann
On 4/4/25 12:52 PM, Andy Shevchenko wrote:
> GCC considers that some static const defined in the lockdep_internals.h
> are unused, which prevents `make W=1` and CONFIG_WERROR=y builds:
>
> kernel/locking/lockdep_internals.h:69:28: error: ‘LOCKF_USED_IN_IRQ_READ’ defined but not used [-Werror=unused-const-variable=]
> 69 | static const unsigned long LOCKF_USED_IN_IRQ_READ =
> | ^~~~~~~~~~~~~~~~~~~~~~
> kernel/locking/lockdep_internals.h:63:28: error: ‘LOCKF_ENABLED_IRQ_READ’ defined but not used [-Werror=unused-const-variable=]
> 63 | static const unsigned long LOCKF_ENABLED_IRQ_READ =
> | ^~~~~~~~~~~~~~~~~~~~~~
> kernel/locking/lockdep_internals.h:57:28: error: ‘LOCKF_USED_IN_IRQ’ defined but not used [-Werror=unused-const-variable=]
> 57 | static const unsigned long LOCKF_USED_IN_IRQ =
> | ^~~~~~~~~~~~~~~~~
> kernel/locking/lockdep_internals.h:51:28: error: ‘LOCKF_ENABLED_IRQ’ defined but not used [-Werror=unused-const-variable=]
> 51 | static const unsigned long LOCKF_ENABLED_IRQ =
> | ^~~~~~~~~~~~~~~~~
>
> Fix this by marking them with __maybe_unused.
The code changes look good, but the "sched/fair" heading is misleading.
It is not related to scheduler at all, it should be "locking/lockdep" or
just "lockdep".
Cheers,
Longman
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> kernel/locking/lockdep_internals.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
> index 20f9ef58d3d0..82e71335f367 100644
> --- a/kernel/locking/lockdep_internals.h
> +++ b/kernel/locking/lockdep_internals.h
> @@ -48,25 +48,25 @@ enum {
> };
>
> #define LOCKDEP_STATE(__STATE) LOCKF_ENABLED_##__STATE |
> -static const unsigned long LOCKF_ENABLED_IRQ =
> +static __maybe_unused const unsigned long LOCKF_ENABLED_IRQ =
> #include "lockdep_states.h"
> 0;
> #undef LOCKDEP_STATE
>
> #define LOCKDEP_STATE(__STATE) LOCKF_USED_IN_##__STATE |
> -static const unsigned long LOCKF_USED_IN_IRQ =
> +static __maybe_unused const unsigned long LOCKF_USED_IN_IRQ =
> #include "lockdep_states.h"
> 0;
> #undef LOCKDEP_STATE
>
> #define LOCKDEP_STATE(__STATE) LOCKF_ENABLED_##__STATE##_READ |
> -static const unsigned long LOCKF_ENABLED_IRQ_READ =
> +static __maybe_unused const unsigned long LOCKF_ENABLED_IRQ_READ =
> #include "lockdep_states.h"
> 0;
> #undef LOCKDEP_STATE
>
> #define LOCKDEP_STATE(__STATE) LOCKF_USED_IN_##__STATE##_READ |
> -static const unsigned long LOCKF_USED_IN_IRQ_READ =
> +static __maybe_unused const unsigned long LOCKF_USED_IN_IRQ_READ =
> #include "lockdep_states.h"
> 0;
> #undef LOCKDEP_STATE
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1 1/1] sched/fair: Mark some static const with __maybe_unused
2025-04-04 16:52 [PATCH v1 1/1] sched/fair: Mark some static const with __maybe_unused Andy Shevchenko
2025-04-04 17:08 ` Waiman Long
@ 2025-04-05 9:16 ` Arnd Bergmann
2025-04-06 12:38 ` Andy Shevchenko
1 sibling, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2025-04-05 9:16 UTC (permalink / raw)
To: Andy Shevchenko, linux-kernel
Cc: Peter Zijlstra, Ingo Molnar, Will Deacon, Boqun Feng, Waiman Long
On Fri, Apr 4, 2025, at 18:52, Andy Shevchenko wrote:
> GCC considers that some static const defined in the lockdep_internals.h
> are unused, which prevents `make W=1` and CONFIG_WERROR=y builds:
>
> kernel/locking/lockdep_internals.h:69:28: error:
> ‘LOCKF_USED_IN_IRQ_READ’ defined but not used
> [-Werror=unused-const-variable=]
> 69 | static const unsigned long LOCKF_USED_IN_IRQ_READ =
> | ^~~~~~~~~~~~~~~~~~~~~~
> kernel/locking/lockdep_internals.h:63:28: error:
> ‘LOCKF_ENABLED_IRQ_READ’ defined but not used
> [-Werror=unused-const-variable=]
> 63 | static const unsigned long LOCKF_ENABLED_IRQ_READ =
> | ^~~~~~~~~~~~~~~~~~~~~~
> kernel/locking/lockdep_internals.h:57:28: error: ‘LOCKF_USED_IN_IRQ’
> defined but not used [-Werror=unused-const-variable=]
> 57 | static const unsigned long LOCKF_USED_IN_IRQ =
> | ^~~~~~~~~~~~~~~~~
> kernel/locking/lockdep_internals.h:51:28: error: ‘LOCKF_ENABLED_IRQ’
> defined but not used [-Werror=unused-const-variable=]
> 51 | static const unsigned long LOCKF_ENABLED_IRQ =
> | ^~~~~~~~~~~~~~~~~
>
> Fix this by marking them with __maybe_unused.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
I posted as different patch for this a while ago:
https://lore.kernel.org/lkml/20250225200830.4031742-1-arnd@kernel.org/
Either of the two should be fine here, though I still like my
version a bit better.
Arnd
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1 1/1] sched/fair: Mark some static const with __maybe_unused
2025-04-05 9:16 ` Arnd Bergmann
@ 2025-04-06 12:38 ` Andy Shevchenko
0 siblings, 0 replies; 4+ messages in thread
From: Andy Shevchenko @ 2025-04-06 12:38 UTC (permalink / raw)
To: Arnd Bergmann
Cc: linux-kernel, Peter Zijlstra, Ingo Molnar, Will Deacon,
Boqun Feng, Waiman Long
On Sat, Apr 05, 2025 at 11:16:19AM +0200, Arnd Bergmann wrote:
> On Fri, Apr 4, 2025, at 18:52, Andy Shevchenko wrote:
> > GCC considers that some static const defined in the lockdep_internals.h
> > are unused, which prevents `make W=1` and CONFIG_WERROR=y builds:
> >
> > kernel/locking/lockdep_internals.h:69:28: error:
> > ‘LOCKF_USED_IN_IRQ_READ’ defined but not used
> > [-Werror=unused-const-variable=]
> > 69 | static const unsigned long LOCKF_USED_IN_IRQ_READ =
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > kernel/locking/lockdep_internals.h:63:28: error:
> > ‘LOCKF_ENABLED_IRQ_READ’ defined but not used
> > [-Werror=unused-const-variable=]
> > 63 | static const unsigned long LOCKF_ENABLED_IRQ_READ =
> > | ^~~~~~~~~~~~~~~~~~~~~~
> > kernel/locking/lockdep_internals.h:57:28: error: ‘LOCKF_USED_IN_IRQ’
> > defined but not used [-Werror=unused-const-variable=]
> > 57 | static const unsigned long LOCKF_USED_IN_IRQ =
> > | ^~~~~~~~~~~~~~~~~
> > kernel/locking/lockdep_internals.h:51:28: error: ‘LOCKF_ENABLED_IRQ’
> > defined but not used [-Werror=unused-const-variable=]
> > 51 | static const unsigned long LOCKF_ENABLED_IRQ =
> > | ^~~~~~~~~~~~~~~~~
> >
> > Fix this by marking them with __maybe_unused.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>
> I posted as different patch for this a while ago:
>
> https://lore.kernel.org/lkml/20250225200830.4031742-1-arnd@kernel.org/
>
> Either of the two should be fine here, though I still like my
> version a bit better.
I'm not a fan of __maybe_unused, I just didn't come up with better idea,
you did. So, I also prefer your version. Can anybody apply that patch
from Arnd, please?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-04-06 12:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-04 16:52 [PATCH v1 1/1] sched/fair: Mark some static const with __maybe_unused Andy Shevchenko
2025-04-04 17:08 ` Waiman Long
2025-04-05 9:16 ` Arnd Bergmann
2025-04-06 12:38 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).