linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data'
       [not found] <202008040108.xTarUIe8%lkp@intel.com>
@ 2020-08-03 19:49 ` Mike Rapoport
  2020-08-03 23:58   ` Joshua Kinard
  2020-08-05  8:37   ` Thomas Bogendoerfer
  0 siblings, 2 replies; 6+ messages in thread
From: Mike Rapoport @ 2020-08-03 19:49 UTC (permalink / raw)
  To: kernel test robot
  Cc: linux-kernel, Paul Burton, Thomas Bogendoerfer, linux-mips

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 <lkp@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


-- 
Sincerely yours,
Mike.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data'
  2020-08-03 19:49 ` arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data' Mike Rapoport
@ 2020-08-03 23:58   ` Joshua Kinard
  2020-08-04 11:34     ` Jiaxun Yang
  2020-08-04 12:59     ` Mike Rapoport
  2020-08-05  8:37   ` Thomas Bogendoerfer
  1 sibling, 2 replies; 6+ messages in thread
From: Joshua Kinard @ 2020-08-03 23:58 UTC (permalink / raw)
  To: Mike Rapoport, kernel test robot
  Cc: linux-kernel, Paul Burton, Thomas Bogendoerfer, linux-mips

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 <lkp@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
kumba@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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data'
  2020-08-03 23:58   ` Joshua Kinard
@ 2020-08-04 11:34     ` Jiaxun Yang
  2020-08-04 12:37       ` Mike Rapoport
  2020-08-04 12:59     ` Mike Rapoport
  1 sibling, 1 reply; 6+ messages in thread
From: Jiaxun Yang @ 2020-08-04 11:34 UTC (permalink / raw)
  To: Joshua Kinard, Mike Rapoport, kernel test robot
  Cc: linux-kernel, Paul Burton, Thomas Bogendoerfer, linux-mips



在 2020/8/4 上午7:58, Joshua Kinard 写道:
> 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 <lkp@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).
Then something like this would be more reasonable:

diff --git a/arch/mips/include/asm/mach-ip27/topology.h 
b/arch/mips/include/asm/mach-ip27/topology.h
index d66cc53feab8..8976b9a20bdc 100644
--- a/arch/mips/include/asm/mach-ip27/topology.h
+++ b/arch/mips/include/asm/mach-ip27/topology.h
@@ -13,6 +13,7 @@ struct cpuinfo_ip27 {

  extern struct cpuinfo_ip27 sn_cpu_info[NR_CPUS];

+#ifdef CONFIG_NUMA
  #define cpu_to_node(cpu)       (cputonasid(cpu))
  #define cpumask_of_node(node)  ((node) == -1 ?                         \
                                  cpu_all_mask :                         \
@@ -25,6 +26,10 @@ extern int pcibus_to_node(struct pci_bus *);
  extern unsigned char __node_distances[MAX_NUMNODES][MAX_NUMNODES];

  #define node_distance(from, to) (__node_distances[(from)][(to)])
+#else
+#define cpu_to_node(cpu)       0
+#define cpumask_of_node(node)  cpu_present_mask
+#endif

  #include <asm-generic/topology.h>

- Jiaxun
>

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data'
  2020-08-04 11:34     ` Jiaxun Yang
@ 2020-08-04 12:37       ` Mike Rapoport
  0 siblings, 0 replies; 6+ messages in thread
From: Mike Rapoport @ 2020-08-04 12:37 UTC (permalink / raw)
  To: Jiaxun Yang
  Cc: Joshua Kinard, kernel test robot, linux-kernel, Paul Burton,
	Thomas Bogendoerfer, linux-mips

On Tue, Aug 04, 2020 at 07:34:39PM +0800, Jiaxun Yang wrote:
> 
> 在 2020/8/4 上午7:58, Joshua Kinard 写道:
> > 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 <lkp@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).
>
> Then something like this would be more reasonable:
> 
> diff --git a/arch/mips/include/asm/mach-ip27/topology.h
> b/arch/mips/include/asm/mach-ip27/topology.h
> index d66cc53feab8..8976b9a20bdc 100644
> --- a/arch/mips/include/asm/mach-ip27/topology.h
> +++ b/arch/mips/include/asm/mach-ip27/topology.h
> @@ -13,6 +13,7 @@ struct cpuinfo_ip27 {
> 
>  extern struct cpuinfo_ip27 sn_cpu_info[NR_CPUS];
> 
> +#ifdef CONFIG_NUMA
>  #define cpu_to_node(cpu)       (cputonasid(cpu))
>  #define cpumask_of_node(node)  ((node) == -1 ?                         \
>                                  cpu_all_mask :                         \
> @@ -25,6 +26,10 @@ extern int pcibus_to_node(struct pci_bus *);
>  extern unsigned char __node_distances[MAX_NUMNODES][MAX_NUMNODES];
> 
>  #define node_distance(from, to) (__node_distances[(from)][(to)])
> +#else
> +#define cpu_to_node(cpu)       0
> +#define cpumask_of_node(node)  cpu_present_mask
> +#endif

Unfortunately this won't be enough. sgi-ip27 presumes custom node
structures available even if CONFIG_NUMA is disabled.
 
>  #include <asm-generic/topology.h>
> 
> - Jiaxun
> > 

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data'
  2020-08-03 23:58   ` Joshua Kinard
  2020-08-04 11:34     ` Jiaxun Yang
@ 2020-08-04 12:59     ` Mike Rapoport
  1 sibling, 0 replies; 6+ messages in thread
From: Mike Rapoport @ 2020-08-04 12:59 UTC (permalink / raw)
  To: Joshua Kinard
  Cc: kernel test robot, linux-kernel, Paul Burton,
	Thomas Bogendoerfer, linux-mips

On Mon, Aug 03, 2020 at 07:58:54PM -0400, Joshua Kinard wrote:
> 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 <lkp@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).
 
Before the removal of DISCONTIGMEM, Origin 200 would still have multiple
nodes and AFAIU it was not configurable, so I'm not sure there would be
a measurable difference between DISCONTIGMEM + !NUMA vs SPARSEMEM + NUMA 

> -- 
> Joshua Kinard
> Gentoo/MIPS
> kumba@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

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data'
  2020-08-03 19:49 ` arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data' Mike Rapoport
  2020-08-03 23:58   ` Joshua Kinard
@ 2020-08-05  8:37   ` Thomas Bogendoerfer
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Bogendoerfer @ 2020-08-05  8:37 UTC (permalink / raw)
  To: Mike Rapoport; +Cc: kernel test robot, linux-kernel, Paul Burton, linux-mips

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 ]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-08-05  8:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <202008040108.xTarUIe8%lkp@intel.com>
2020-08-03 19:49 ` arch/mips/include/asm/mach-ip27/topology.h:19:7: error: implicit declaration of function 'hub_data' Mike Rapoport
2020-08-03 23:58   ` Joshua Kinard
2020-08-04 11:34     ` Jiaxun Yang
2020-08-04 12:37       ` Mike Rapoport
2020-08-04 12:59     ` Mike Rapoport
2020-08-05  8:37   ` Thomas Bogendoerfer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).