Subject: Re: linux-next: build failure after merge of the percpu tree

From: Dennis Zhou <[email-masked]>
Date: Mon, 11 Dec 2023 11:25:14 -0800

Hello,

On Mon, Dec 11, 2023 at 09:31:25AM +0100, Alexandre Ghiti wrote:
> Hi Stephen,
> 
> On Mon, Dec 11, 2023 at 7:14 AM Stephen Rothwell <[email-masked]> wrote:
> >
> > Hi all,
> >
> > After merging the percpu tree, today's linux-next build (sparc64
> > defconfig) failed like this:
> >
> > mm/percpu.c: In function 'pcpu_page_first_chunk':
> > mm/percpu.c:3336:17: error: implicit declaration of function 'flush_cache_vmap_early'; did you mean 'flush_cache_vmap'? [-Werror=implicit-function-declaration]
> >  3336 |                 flush_cache_vmap_early(unit_addr, unit_addr + ai->unit_size);
> >       |                 ^~~~~~~~~~~~~~~~~~~~~~
> >       |                 flush_cache_vmap
> > cc1: some warnings being treated as errors
> >
> > Caused by commit
> >
> >   a95c15a43f4a ("mm: Introduce flush_cache_vmap_early() and its riscv implementation")
> >
> > I have applied the following fix patch for today.  Are there other
> > archs that don't use asm-generic/cacheflush.h?
> 

I'm surprised automation didn't catch this as this should have failed
for any sparc build? It passed `sparc allmodconfig gcc` on my branches.

> It seems like most archs do not include this file, I should have
> checked. As I'm a bit scared of the possible side-effects of including
> asm-generic/cacheflush.h, I'll define flush_cache_vmap_early() on all
> archs that do define flush_cache_vmap().
> 

Hmmm. That makes sense, but we'd still need to check so we have the
generic #ifndef definition included everywhere too.

> Stephen, do you want a patch fix? Or do you want me to send a new
> version of the current patches so that you can drop them for now?
> 

The for-next tree gets recreated from pulls of the maintainers' trees.
I'm going to drop the series from percpu and then we can go again with a
v2.

> Sorry for the oversight,

All good it happens. It's why the automation is there.

Thanks,
Dennis

> Thanks,
> 
> Alex
> 
> >
> > From: Stephen Rothwell <[email-masked]>
> > Date: Mon, 11 Dec 2023 16:57:00 +1100
> > Subject: [PATCH] fix up for "mm: Introduce flush_cache_vmap_early() and its riscv implementation"
> >
> > Signed-off-by: Stephen Rothwell <[email-masked]>
> > ---
> >  arch/sparc/include/asm/cacheflush.h | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/arch/sparc/include/asm/cacheflush.h b/arch/sparc/include/asm/cacheflush.h
> > index 881ac76eab93..9d87b2bcb217 100644
> > --- a/arch/sparc/include/asm/cacheflush.h
> > +++ b/arch/sparc/include/asm/cacheflush.h
> > @@ -10,4 +10,11 @@
> >  #else
> >  #include <asm/cacheflush_32.h>
> >  #endif
> > +
> > +#ifndef __ASSEMBLY__
> > +static inline void flush_cache_vmap_early(unsigned long start, unsigned long end)
> > +{
> > +}
> > +#endif
> > +
> >  #endif
> > --
> > 2.40.1
> >
> > --
> > Cheers,
> > Stephen Rothwell