Re: arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data'

From: Thomas Bogendoerfer
Date: Wed Aug 05 2020 - 04:38:36 EST


On Mon, Aug 03, 2020 at 10:49:10PM +0300, Mike Rapoport wrote:
> On Tue, Aug 04, 2020 at 01:39:14AM +0800, kernel test robot wrote:
> [...]
> >
> > All errors (new ones prefixed by >>):
> >
> > 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:
> > arch/mips/include/asm/mach-ip27/topology.h:25:39: error: 'MAX_COMPACT_NODES' undeclared here (not in a function)
> > 25 | extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES];
> > | ^~~~~~~~~~~~~~~~~
> > 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' [-Werror=implicit-function-declaration]
> > 16 | #define cpu_to_node(cpu) (cputonasid(cpu))
> > | ^~~~~~~~~~
>
> This happens when randconfig disables NUMA and has SGI_IP27 enabled.
> 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.
>
> I don't remember small Origin or Onyx systems so I think it would be
> reasonable to make SGI_IP27 to select NUMA.

IMHO there are right now too many places in IP27 code, which assumes NUMA
enabled, so your patch makes sense. And if someone wants to get it
supported without NUMA enabled, I'm taking that patch as well.

> If the below patch makes sense I'll resend it formally.

yes please.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]