Subject: Re: linux-next: build warning after merge of the tip tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 20 Sep 2021 18:57:36 +1000

Hi all,

On Mon, 20 Sep 2021 18:30:16 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> On Mon, 20 Sep 2021 14:55:29 +0800 Yafang Shao <[email-masked]> wrote:
> >
> > On Mon, Sep 20, 2021 at 9:33 AM Stephen Rothwell <[email-masked]> wrote:  
> > >
> > > After merging the tip tree, today's linux-next build (powerpc_ppc64
> > > defconfig) produced this warning:
> > >
> > > kernel/sched/debug.c: In function 'print_cfs_group_stats':
> > > kernel/sched/debug.c:460:41: warning: unused variable 'stats' [-Wunused-variable]
> > >   460 |                struct sched_statistics *stats =  __schedstats_from_se(se);
> > >       |                                         ^~~~~
> > >
> > > Caused by commit
> > >
> > >   cb3e971c435d ("sched: Make struct sched_statistics independent of fair sched class")
> > >
> > > # CONFIG_SCHEDSTATS is not set
> > >    
> > 
> > Thanks for the report.
> > 
> > We have discussed this issue before[1].
> > This warning happens when CONFIG_SCHEDSTATS is not set and
> > schedstat_enabled() is 0, so the whole scope should be not compiled.
> > It seems that we don't need to fix this warning.
> > 
> > [1]. https://lore.kernel.org/lkml/[email-masked]/  
> 
> Clearly it will be compiled if CONFIG_SCHEDSTATS is not set as that is
> exactly what this build has ... even sections of code guarded by "if
> (0)" are compiled, they may just not produce any output in the binary.
> 
> Also, I do not have W=1 for this build.
> 
> If you turned schedstat_val() into a static inline function, then this
> warning would go away.  That also means that argument types and return
> values will be better checked.

I take it back, that won't work :-(

> So, please fix this.

Still it needs to be fixed to keep unnecessary warnings out of our builds.
-- 
Cheers,
Stephen Rothwell