Re: [PATCH] rcu: remove unused variable in boot_cpu_state_init

From: Ingo Molnar
Date: Thu Jun 22 2017 - 03:27:08 EST



* Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> On Wed, Jun 21, 2017 at 11:57:28PM +0200, Arnd Bergmann wrote:
> > Without CONFIG_SMP, we get a harmless warning about
> > an unused variable:
> >
> > kernel/cpu.c: In function 'boot_cpu_state_init':
> > kernel/cpu.c:1778:6: error: unused variable 'cpu' [-Werror=unused-variable]
> >
> > This reworks the function to have the declaration inside
> > of the #ifdef.
> >
> > Fixes: faeb334286b7 ("rcu: Migrate callbacks earlier in the CPU-offline timeline")
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> I simply added a __maybe_unused in 6441c656acde ("rcu: Migrate callbacks
> earlier in the CPU-offline timeline") in my -rcu tree. However, your
> approach does have the advantage of complaining if the code using that
> variable is removed.
>
> So, would you be OK with my folding your approach into my commit with
> attribution?

Also, note that __maybe_unused can be dangerous: it can hide a build warning where
there's a _real_ unused variable bug now or due to future changes, causing a real
runtime bug.

So I think we should consider it a syntactic construct to avoid.

Thanks,

Ingo