All of lore.kernel.org
 help / color / mirror / Atom feed
* SPARC32 SMP 2.6.36-rc3 build error
@ 2010-09-14 13:30 Daniel Hellstrom
  2010-09-14 21:12 ` David Miller
  2010-09-15  4:42   ` David Miller
  0 siblings, 2 replies; 6+ messages in thread
From: Daniel Hellstrom @ 2010-09-14 13:30 UTC (permalink / raw)
  To: sparclinux

Hi,

I have problems linking Linux SPARC32 when SMP is enabled:

  LD      vmlinux
  SYSMAP  System.map
  SYSMAP  .tmp_System.map
  BTFIX   arch/sparc/boot/btfix.S
  AS      arch/sparc/boot/btfix.o
  LD      arch/sparc/boot/image
net/built-in.o: In function `net_rps_action_and_irq_enable':
/home/daniel/linux/linux/linux-2.6/net/core/dev.c:3337: undefined 
reference to `__smp_call_function_single'
make[1]: *** [arch/sparc/boot/image] Error 1
make: *** [zImage] Error 2


It seems that __smp_call_function_single() is missing in smp_32.h for 
SPARC32, for SPARC64 the function is declared in linux/smp.h and 
kernel/smp.c by defining USE_GENERIC_SMP_HELPERS in arch/sparc/Kconfig.

__smp_call_function_single() was introduced in 
e77c8e83dd587f2616d7ff20d23a897891e6e20d:

+#ifdef CONFIG_SMP
+/*
+ * net_rps_action sends any pending IPI's for rps.  This is only called from
+ * softirq and interrupts must be enabled.
+ */
+static void net_rps_action(cpumask_t *mask)
+{
+       int cpu;
+
+       /* Send pending IPI's to kick RPS processing on remote cpus. */
+       for_each_cpu_mask_nr(cpu, *mask) {
+               struct softnet_data *queue = &per_cpu(softnet_data, cpu);
+               if (cpu_online(cpu))
+                       __smp_call_function_single(cpu, &queue->csd, 0);
+       }
+       cpus_clear(*mask);
+}
+#endif


Any ideas what I might have done wrong?

Thanks,
Daniel Hellstrom

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

* Re: SPARC32 SMP 2.6.36-rc3 build error
  2010-09-14 13:30 SPARC32 SMP 2.6.36-rc3 build error Daniel Hellstrom
@ 2010-09-14 21:12 ` David Miller
  2010-09-15  4:42   ` David Miller
  1 sibling, 0 replies; 6+ messages in thread
From: David Miller @ 2010-09-14 21:12 UTC (permalink / raw)
  To: sparclinux

From: Daniel Hellstrom <daniel@gaisler.com>
Date: Tue, 14 Sep 2010 15:30:27 +0200

> I have problems linking Linux SPARC32 when SMP is enabled:

I'll take a look at this and try to fix it, thanks for the
report.

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

* Re: SPARC32 SMP 2.6.36-rc3 build error
  2010-09-14 13:30 SPARC32 SMP 2.6.36-rc3 build error Daniel Hellstrom
@ 2010-09-15  4:42   ` David Miller
  2010-09-15  4:42   ` David Miller
  1 sibling, 0 replies; 6+ messages in thread
From: David Miller @ 2010-09-15  4:42 UTC (permalink / raw)
  To: daniel; +Cc: sparclinux, netdev

From: Daniel Hellstrom <daniel@gaisler.com>
Date: Tue, 14 Sep 2010 15:30:27 +0200

> I have problems linking Linux SPARC32 when SMP is enabled:
> 
>  LD      vmlinux
>  SYSMAP  System.map
>  SYSMAP  .tmp_System.map
>  BTFIX   arch/sparc/boot/btfix.S
>  AS      arch/sparc/boot/btfix.o
>  LD      arch/sparc/boot/image
> net/built-in.o: In function `net_rps_action_and_irq_enable':
> /home/daniel/linux/linux/linux-2.6/net/core/dev.c:3337: undefined
> reference to `__smp_call_function_single'
> make[1]: *** [arch/sparc/boot/image] Error 1
> make: *** [zImage] Error 2

It's a missing dependency in the networking code, I'll fix this
in the net-2.6 tree as follows:

--------------------
net: RPS needs to depend upon USE_GENERIC_SMP_HELPERS

You cannot invoke __smp_call_function_single() unless the
architecture sets this symbol.

Reported-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/Kconfig b/net/Kconfig
index e330594..e926884 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -217,7 +217,7 @@ source "net/dns_resolver/Kconfig"
 
 config RPS
 	boolean
-	depends on SMP && SYSFS
+	depends on SMP && SYSFS && USE_GENERIC_SMP_HELPERS
 	default y
 
 menu "Network testing"
-- 
1.7.2.2


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

* Re: SPARC32 SMP 2.6.36-rc3 build error
@ 2010-09-15  4:42   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2010-09-15  4:42 UTC (permalink / raw)
  To: daniel; +Cc: sparclinux, netdev

From: Daniel Hellstrom <daniel@gaisler.com>
Date: Tue, 14 Sep 2010 15:30:27 +0200

> I have problems linking Linux SPARC32 when SMP is enabled:
> 
>  LD      vmlinux
>  SYSMAP  System.map
>  SYSMAP  .tmp_System.map
>  BTFIX   arch/sparc/boot/btfix.S
>  AS      arch/sparc/boot/btfix.o
>  LD      arch/sparc/boot/image
> net/built-in.o: In function `net_rps_action_and_irq_enable':
> /home/daniel/linux/linux/linux-2.6/net/core/dev.c:3337: undefined
> reference to `__smp_call_function_single'
> make[1]: *** [arch/sparc/boot/image] Error 1
> make: *** [zImage] Error 2

It's a missing dependency in the networking code, I'll fix this
in the net-2.6 tree as follows:

--------------------
net: RPS needs to depend upon USE_GENERIC_SMP_HELPERS

You cannot invoke __smp_call_function_single() unless the
architecture sets this symbol.

Reported-by: Daniel Hellstrom <daniel@gaisler.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/Kconfig b/net/Kconfig
index e330594..e926884 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -217,7 +217,7 @@ source "net/dns_resolver/Kconfig"
 
 config RPS
 	boolean
-	depends on SMP && SYSFS
+	depends on SMP && SYSFS && USE_GENERIC_SMP_HELPERS
 	default y
 
 menu "Network testing"
-- 
1.7.2.2


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

* Re: SPARC32 SMP 2.6.36-rc3 build error
  2010-09-15  4:42   ` David Miller
@ 2010-09-15  7:20     ` Daniel Hellstrom
  -1 siblings, 0 replies; 6+ messages in thread
From: Daniel Hellstrom @ 2010-09-15  7:20 UTC (permalink / raw)
  To: David Miller; +Cc: sparclinux, netdev


David Miller wrote:

>From: Daniel Hellstrom <daniel@gaisler.com>
>Date: Tue, 14 Sep 2010 15:30:27 +0200
>
>  
>
>>I have problems linking Linux SPARC32 when SMP is enabled:
>>
>> LD      vmlinux
>> SYSMAP  System.map
>> SYSMAP  .tmp_System.map
>> BTFIX   arch/sparc/boot/btfix.S
>> AS      arch/sparc/boot/btfix.o
>> LD      arch/sparc/boot/image
>>net/built-in.o: In function `net_rps_action_and_irq_enable':
>>/home/daniel/linux/linux/linux-2.6/net/core/dev.c:3337: undefined
>>reference to `__smp_call_function_single'
>>make[1]: *** [arch/sparc/boot/image] Error 1
>>make: *** [zImage] Error 2
>>    
>>
>
>It's a missing dependency in the networking code, I'll fix this
>in the net-2.6 tree as follows:
>
>--------------------
>net: RPS needs to depend upon USE_GENERIC_SMP_HELPERS
>
>You cannot invoke __smp_call_function_single() unless the
>architecture sets this symbol.
>
>Reported-by: Daniel Hellstrom <daniel@gaisler.com>
>Signed-off-by: David S. Miller <davem@davemloft.net>
>---
> net/Kconfig |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/net/Kconfig b/net/Kconfig
>index e330594..e926884 100644
>--- a/net/Kconfig
>+++ b/net/Kconfig
>@@ -217,7 +217,7 @@ source "net/dns_resolver/Kconfig"
> 
> config RPS
> 	boolean
>-	depends on SMP && SYSFS
>+	depends on SMP && SYSFS && USE_GENERIC_SMP_HELPERS
> 	default y
> 
> menu "Network testing"
>  
>

That resolved the problem nicely.

Thank you very much,
Daniel


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

* Re: SPARC32 SMP 2.6.36-rc3 build error
@ 2010-09-15  7:20     ` Daniel Hellstrom
  0 siblings, 0 replies; 6+ messages in thread
From: Daniel Hellstrom @ 2010-09-15  7:20 UTC (permalink / raw)
  To: David Miller; +Cc: sparclinux, netdev


David Miller wrote:

>From: Daniel Hellstrom <daniel@gaisler.com>
>Date: Tue, 14 Sep 2010 15:30:27 +0200
>
>  
>
>>I have problems linking Linux SPARC32 when SMP is enabled:
>>
>> LD      vmlinux
>> SYSMAP  System.map
>> SYSMAP  .tmp_System.map
>> BTFIX   arch/sparc/boot/btfix.S
>> AS      arch/sparc/boot/btfix.o
>> LD      arch/sparc/boot/image
>>net/built-in.o: In function `net_rps_action_and_irq_enable':
>>/home/daniel/linux/linux/linux-2.6/net/core/dev.c:3337: undefined
>>reference to `__smp_call_function_single'
>>make[1]: *** [arch/sparc/boot/image] Error 1
>>make: *** [zImage] Error 2
>>    
>>
>
>It's a missing dependency in the networking code, I'll fix this
>in the net-2.6 tree as follows:
>
>--------------------
>net: RPS needs to depend upon USE_GENERIC_SMP_HELPERS
>
>You cannot invoke __smp_call_function_single() unless the
>architecture sets this symbol.
>
>Reported-by: Daniel Hellstrom <daniel@gaisler.com>
>Signed-off-by: David S. Miller <davem@davemloft.net>
>---
> net/Kconfig |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/net/Kconfig b/net/Kconfig
>index e330594..e926884 100644
>--- a/net/Kconfig
>+++ b/net/Kconfig
>@@ -217,7 +217,7 @@ source "net/dns_resolver/Kconfig"
> 
> config RPS
> 	boolean
>-	depends on SMP && SYSFS
>+	depends on SMP && SYSFS && USE_GENERIC_SMP_HELPERS
> 	default y
> 
> menu "Network testing"
>  
>

That resolved the problem nicely.

Thank you very much,
Daniel


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

end of thread, other threads:[~2010-09-15  7:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-14 13:30 SPARC32 SMP 2.6.36-rc3 build error Daniel Hellstrom
2010-09-14 21:12 ` David Miller
2010-09-15  4:42 ` David Miller
2010-09-15  4:42   ` David Miller
2010-09-15  7:20   ` Daniel Hellstrom
2010-09-15  7:20     ` Daniel Hellstrom

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.