linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).