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

From: Alexandre Ghiti
Date: Mon Dec 11 2023 - 03:31:42 EST


Hi Stephen,

On Mon, Dec 11, 2023 at 7:14 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> 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?

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().

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?

Sorry for the oversight,

Thanks,

Alex

>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> 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 <sfr@xxxxxxxxxxxxxxxx>
> ---
> 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