Re: [PATCH] percpu: km: ensure it is used with NOMMU (either UP or SMP)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

On Tue, Nov 30, 2021 at 05:29:54PM +0000, Vladimir Murzin wrote:
> Currently, NOMMU pull km allocator via !SMP dependency because most of
> them are UP, yet for SMP+NOMMU vm allocator gets pulled which:
> 
> * may lead to broken build [1]
> * ...or not working runtime due to [2]
> 
> It looks like SMP+NOMMU case was overlooked in bbddff054587 ("percpu:
> use percpu allocator on UP too") so restore that.
> 
> [1]
> For ARM SMP+NOMMU (R-class cores)
> 
> arm-none-linux-gnueabihf-ld: mm/percpu.o: in function `pcpu_post_unmap_tlb_flush':
> mm/percpu-vm.c:188: undefined reference to `flush_tlb_kernel_range'
> 
> [2]
> static inline
> int vmap_pages_range_noflush(unsigned long addr, unsigned long end,
>                 pgprot_t prot, struct page **pages, unsigned int page_shift)
> {
>        return -EINVAL;
> }
> 
> Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
> ---
>  mm/Kconfig | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/mm/Kconfig b/mm/Kconfig
> index d16ba92..66331e0 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -425,9 +425,8 @@ config THP_SWAP
>  # UP and nommu archs use km based percpu allocator
>  #
>  config NEED_PER_CPU_KM
> -	depends on !SMP
>  	bool
> -	default y
> +	default !SMP || !MMU
>  

Should this be `depends on !SMP || !MMU` with default yes? Because with
SMP && MMU, it shouldn't be an option to run with percpu-km.

>  config CLEANCACHE
>  	bool "Enable cleancache driver to cache clean pages if tmem is present"
> -- 
> 2.7.4
> 

It's interesting to me that this is all coming up at once. Earlier this
month I had the same conversation with people involved with sh [1].

[1] https://lore.kernel.org/linux-sh/YY7tp5attRyK42Zk@fedora/

I can pull this shortly once I see whatever happened to linux-sh.

Thanks,
Dennis




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux