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

From: Baoquan He
Date: Fri Mar 13 2020 - 20:35:17 EST


On 03/14/20 at 11:09am, Stephen Rothwell wrote:
> Hi Baoquan,
>
> On Fri, 13 Mar 2020 20:56:27 +0800 Baoquan He <bhe@xxxxxxxxxx> wrote:
> >
> > I made below change, but I can't triger these warnings. Could you try
> > below patch, see if it's works?
>
> I needed to add "ARCH=x86_64" to the "make allnoconfig" command line
> (and the subsequent "make") otherwise I get a 32 bit build.

Ok, I now see the warnings with 'allnoconfig ARCH=x86_64', thanks.

>
> > From 9be668f1e30b6bb4ed5f4a07e7d3bb76d3f58f35 Mon Sep 17 00:00:00 2001
> > From: Baoquan He <bhe@xxxxxxxxxx>
> > Date: Fri, 13 Mar 2020 20:25:54 +0800
> > Subject: [PATCH] mm/sparse.c: fix the building warning with !SPARSEMEM
> >
> > Stephen reported below warnings are seen with allnoconfig on x86_64.
> > Fix it by making those dummy functions sub-section map handling visible
> > with CONFIG_SPARSEMEM enabled.
> >
> > mm/sparse.c:311:12: warning: 'fill_subsection_map' defined but not used [-Wunused-function]
> > 311 | static int fill_subsection_map(unsigned long pfn, unsigned long nr_pages)
> > | ^~~~~~~~~~~~~~~~~~~
> > mm/sparse.c:306:13: warning: 'is_subsection_map_empty' defined but not used [-Wunused-function]
> > 306 | static bool is_subsection_map_empty(struct mem_section *ms)
> > | ^~~~~~~~~~~~~~~~~~~~~~~
> > mm/sparse.c:301:12: warning: 'clear_subsection_map' defined but not used [-Wunused-function]
> > 301 | static int clear_subsection_map(unsigned long pfn, unsigned long nr_pages)
> > | ^~~~~~~~~~~~~~~~~~~~
> >
> > Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>
> > ---
> > mm/sparse.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mm/sparse.c b/mm/sparse.c
> > index 362018e82e22..9e08d118719f 100644
> > --- a/mm/sparse.c
> > +++ b/mm/sparse.c
> > @@ -293,7 +293,7 @@ static int fill_subsection_map(unsigned long pfn, unsigned long nr_pages)
> >
> > return rc;
> > }
> > -#else
> > +#elif defined(CONFIG_SPARSEMEM)
> > void __init subsection_map_init(unsigned long pfn, unsigned long nr_pages)
> > {
> > }
>
> This didn't make any difference as CONFIG_SPARSEMEM is set for the
> x86_64 allnoconfig build.

You are right, CONFIG_SPARSEMEM is set for x86_64. I will work out a
patch after testing. Thanks for these details.