On 8/3/2020 15:49, Mike Rapoport wrote: > Hi, > > On Tue, Aug 04, 2020 at 01:39:14AM +0800, kernel test robot wrote: >> Hi Mike, >> >> FYI, the error/warning still remains. >> >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git >> master >> head: bcf876870b95592b52519ed4aafcf9d95999bc9c >> commit: 397dc00e249ec64e106374565575dd0eb7e25998 mips: sgi-ip27: switch from >> DISCONTIGMEM to SPARSEMEM >> date: 10 months ago >> config: mips-randconfig-r032-20200803 (attached as .config) >> compiler: mips64-linux-gcc (GCC) 9.3.0 >> reproduce (this is a W=1 build): >> wget >> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O >> ~/bin/make.cross >> chmod +x ~/bin/make.cross >> git checkout 397dc00e249ec64e106374565575dd0eb7e25998 >> # save the attached .config to linux build tree >> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross >> ARCH=mips >> >> If you fix the issue, kindly add following tag as appropriate >> Reported-by: kernel test robot <l...@intel.com> >> >> 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. If the below patch makes > sense I'll resend it formally. > > 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
NUMA is really only needed if you have more than one nodeboard for the Onyx2 or Origin2000 systems. If you just have a single Origin 200 system, you want to turn NUMA off. I happen to have both a single Origin 200 system and an Onyx2 w/ two nodeboards. Haven't fired them up recently on modern kernels, though. I can't think of a good workaround off the top of my head for this case. NUMA shouldn't hurt an Origin 200, but I recall Ralf once telling me it does introduce slowdown at some points due to checks for other nodes being done when we know there can't physically be any more (exception: dual Origin 200's hooked together via CrossTown cables). -- Joshua Kinard Gentoo/MIPS ku...@gentoo.org rsa6144/5C63F4E3F5C6C943 2015-04-27 177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943 "The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between." --Emperor Turhan, Centauri Republic