Re: compaction.h: undefined CONFIG_ZONE_HIGHMEM_

From: Valentin Rothberg
Date: Wed Sep 23 2015 - 06:13:31 EST


On Sep 23 '15 11:34, Vlastimil Babka wrote:
> On 09/23/2015 10:43 AM, Valentin Rothberg wrote:
> > Hi Vlastimil,
> >
> > your commit 1434c81a47e3 ("mm, compaction: export tracepoints zone names
> > to userspace") has shown up in todays linux-next tree (i.e., 20150923)
> > adding the following lines of code:
> >
> > --- a/include/trace/events/compaction.h
> > +++ b/include/trace/events/compaction.h
> > @@ -18,6 +18,31 @@
> > [...]
> > +#ifdef CONFIG_ZONE_HIGHMEM_
> > +#define IFDEF_ZONE_HIGHMEM(X) X
> > +#else
> > +#define IFDEF_ZONE_HIGHMEM(X)
> > +#endif
> >
> > At the current state, the #ifdef block will not see a compiler since
> > CONFIG_ZONE_HIGHMEM_ is not defined anywhere.
>
> Ah damn, that's why a simple compile test won't catch this typo.
>
> > At first I thought it's a
> > typo as it ends with '_', but even ZONE_HIGHMEM isn't defined in
> > Kconfig. Is there a patch queued somewhere to fix the issue?
>
> It's actually just CONFIG_HIGHMEM (who needs consistency anyway?). Patch
> below. I didn't rename the IFDEF_ZONE_HIGHMEM as it's internal.
>
> When looking at zone_names I've noticed a CONFIG_ZONE_DEVICE. I assume
> compaction can't be run on this one so I'll ignore it. At worst the
> tracepoint string would be missing.
>
> > I detected the issue with undertaker-checkpatch from [1]. We run a
> > bot daily on linux-next to detect some Kconfig related issues and
> > bugs.
>
> Yeah I've heard about it on last year's Plumbers. Thanks for catching this!

Cool, happy to hear when people know our tools!

We put parts of the symbolic analysis such as the "CONFIG_ZONE_HIGHMEM_"
case into scripts/checkkconfigsymbols.py. It's quite funny that
checkkconfigsymbols did not catch your commit since it requires Kconfig
symbols to end with something alphanumerical, if not they will be
ignored - an everlasting fight with false postives and false negatives :)

Thanks,
Valentin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/