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

Stephen Rothwell
2021-09-20T08:30:49Z

[-- Attachment #1: Type: text/plain, Size: 1630 bytes --]

Hi Yafang,

On Mon, 20 Sep 2021 14:55:29 +0800 Yafang Shao <laoar.shao@gmail.com> wrote:
>
> On Mon, Sep 20, 2021 at 9:33 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > Hi all,
> >
> > 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/20210911082505.115758-1-laoar.shao@gmail.com/

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.

So, please fix this.
--
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]