* 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.