Re: [PATCH] MIPS: SGI-IP27: always enable NUMA in Kconfig
From: Joshua Kinard
Date: Wed Aug 05 2020 - 20:43:53 EST
On 8/5/2020 08:51, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@xxxxxxxxxxxxx>
>
> When a configuration has NUMA disabled and SGI_IP27 enabled, the build
> fails:
>
> CC kernel/bounds.s
> CC arch/mips/kernel/asm-offsets.s
> In file included from arch/mips/include/asm/topology.h:11,
> from include/linux/topology.h:36,
> from include/linux/gfp.h:9,
> from include/linux/slab.h:15,
> from include/linux/crypto.h:19,
> from include/crypto/hash.h:11,
> from include/linux/uio.h:10,
> from include/linux/socket.h:8,
> from include/linux/compat.h:15,
> from arch/mips/kernel/asm-offsets.c:12:
> include/linux/topology.h: In function 'numa_node_id':
> arch/mips/include/asm/mach-ip27/topology.h:16:27: error: implicit declaration of function 'cputonasid'; did you mean 'cpu_vpe_id'? [-Werror=implicit-function-declaration]
> #define cpu_to_node(cpu) (cputonasid(cpu))
> ^~~~~~~~~~
> include/linux/topology.h:119:9: note: in expansion of macro 'cpu_to_node'
> return cpu_to_node(raw_smp_processor_id());
> ^~~~~~~~~~~
> include/linux/topology.h: In function 'cpu_cpu_mask':
> arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data' [-Werror=implicit-function-declaration]
> &hub_data(node)->h_cpus)
> ^~~~~~~~
> include/linux/topology.h:210:9: note: in expansion of macro 'cpumask_of_node'
> return cpumask_of_node(cpu_to_node(cpu));
> ^~~~~~~~~~~~~~~
> arch/mips/include/asm/mach-ip27/topology.h:19:21: error: invalid type argument of '->' (have 'int')
> &hub_data(node)->h_cpus)
> ^~
> include/linux/topology.h:210:9: note: in expansion of macro 'cpumask_of_node'
> return cpumask_of_node(cpu_to_node(cpu));
> ^~~~~~~~~~~~~~~
>
> Before switch from discontigmem to sparsemem, there always was
> CONFIG_NEED_MULTIPLE_NODES=y because it was selected by DISCONTIGMEM.
> Without DISCONTIGMEM it is possible to have SPARSEMEM without NUMA for
> SGI_IP27 and as many things there rely on custom node definition, the
> build breaks.
>
> As Thomas noted "... there are right now too many places in IP27 code,
> which assumes NUMA enabled", the simplest solution would be to always
> enable NUMA for SGI-IP27 builds.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Fixes: 397dc00e249e ("mips: sgi-ip27: switch from DISCONTIGMEM to SPARSEMEM")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Mike Rapoport <rppt@xxxxxxxxxxxxx>
> ---
> arch/mips/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 6fee1a133e9d..a7e40bb1e5bc 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -678,6 +678,7 @@ config SGI_IP27
> select SYS_SUPPORTS_NUMA
> select SYS_SUPPORTS_SMP
> select MIPS_L1_CACHE_SHIFT_7
> + select NUMA
> help
> This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
> workstations. To compile a Linux kernel that runs on these, say Y
>
Reviewed-by: Joshua Kinard <kumba@xxxxxxxxxx>