* [PATCH] fix smp generic helper voyager breakage
@ 2008-10-30 21:09 James Bottomley
2008-10-30 21:20 ` Ingo Molnar
2008-10-30 21:54 ` Ingo Molnar
0 siblings, 2 replies; 10+ messages in thread
From: James Bottomley @ 2008-10-30 21:09 UTC (permalink / raw)
To: linux-kernel; +Cc: Jens Axboe
>From c3029f2bac04e387a1eb6aa2967310d61e9f2561 Mon Sep 17 00:00:00 2001
From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: Wed, 29 Oct 2008 14:53:06 -0500
Subject: [VOYAGER] fix generic smp helpers non compile
commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1
Author: Jens Axboe <jens.axboe@oracle.com>
Date: Thu Jun 26 11:21:34 2008 +0200
Add generic helpers for arch IPI function calls
didn't wire up the voyager smp call function correctly, so do that
here. Also make CONFIG_USE_GENERIC_SMP_HELPERS a def_bool y again,
since we now use the generic helpers for every x86 architecture.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
---
arch/x86/Kconfig | 4 +++-
arch/x86/mach-voyager/voyager_smp.c | 16 ++++++++++++++--
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 4e529cc..7e971cc 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -167,9 +167,11 @@ config GENERIC_PENDING_IRQ
config X86_SMP
bool
depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
- select USE_GENERIC_SMP_HELPERS
default y
+config USE_GENERIC_SMP_HELPERS
+ def_bool y
+
config X86_32_SMP
def_bool y
depends on X86_32 && SMP
diff --git a/arch/x86/mach-voyager/voyager_smp.c b/arch/x86/mach-voyager/voyager_smp.c
index 9cd327a..63ed72b 100644
--- a/arch/x86/mach-voyager/voyager_smp.c
+++ b/arch/x86/mach-voyager/voyager_smp.c
@@ -7,6 +7,7 @@
* This file provides all the same external entries as smp.c but uses
* the voyager hal to provide the functionality
*/
+#include <linux/cpu.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/kernel_stat.h>
@@ -1783,6 +1784,17 @@ void __init smp_setup_processor_id(void)
x86_write_percpu(cpu_number, hard_smp_processor_id());
}
+static void voyager_send_call_func(cpumask_t callmask)
+{
+ __u32 mask = cpus_addr(callmask)[0] & ~(1 << smp_processor_id());
+ send_CPI(mask, VIC_CALL_FUNCTION_CPI);
+}
+
+static void voyager_send_call_func_single(int cpu)
+{
+ send_CPI(1 << cpu, VIC_CALL_FUNCTION_SINGLE_CPI);
+}
+
struct smp_ops smp_ops = {
.smp_prepare_boot_cpu = voyager_smp_prepare_boot_cpu,
.smp_prepare_cpus = voyager_smp_prepare_cpus,
@@ -1792,6 +1804,6 @@ struct smp_ops smp_ops = {
.smp_send_stop = voyager_smp_send_stop,
.smp_send_reschedule = voyager_smp_send_reschedule,
- .send_call_func_ipi = native_send_call_func_ipi,
- .send_call_func_single_ipi = native_send_call_func_single_ipi,
+ .send_call_func_ipi = voyager_send_call_func,
+ .send_call_func_single_ipi = voyager_send_call_func_single,
};
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-10-30 21:09 [PATCH] fix smp generic helper voyager breakage James Bottomley
@ 2008-10-30 21:20 ` Ingo Molnar
2008-10-30 21:54 ` Ingo Molnar
1 sibling, 0 replies; 10+ messages in thread
From: Ingo Molnar @ 2008-10-30 21:20 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-kernel, Jens Axboe
* James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> >From c3029f2bac04e387a1eb6aa2967310d61e9f2561 Mon Sep 17 00:00:00 2001
> From: James Bottomley <James.Bottomley@HansenPartnership.com>
> Date: Wed, 29 Oct 2008 14:53:06 -0500
> Subject: [VOYAGER] fix generic smp helpers non compile
>
> commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1
> Author: Jens Axboe <jens.axboe@oracle.com>
> Date: Thu Jun 26 11:21:34 2008 +0200
>
> Add generic helpers for arch IPI function calls
>
> didn't wire up the voyager smp call function correctly, so do that
> here. Also make CONFIG_USE_GENERIC_SMP_HELPERS a def_bool y again,
> since we now use the generic helpers for every x86 architecture.
>
> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
> ---
> arch/x86/Kconfig | 4 +++-
> arch/x86/mach-voyager/voyager_smp.c | 16 ++++++++++++++--
> 2 files changed, 17 insertions(+), 3 deletions(-)
applied to tip/x86/urgent, thanks James!
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-10-30 21:09 [PATCH] fix smp generic helper voyager breakage James Bottomley
2008-10-30 21:20 ` Ingo Molnar
@ 2008-10-30 21:54 ` Ingo Molnar
2008-10-30 22:06 ` James Bottomley
1 sibling, 1 reply; 10+ messages in thread
From: Ingo Molnar @ 2008-10-30 21:54 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-kernel, Jens Axboe
* James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> +++ b/arch/x86/Kconfig
> @@ -167,9 +167,11 @@ config GENERIC_PENDING_IRQ
> config X86_SMP
> bool
> depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
> - select USE_GENERIC_SMP_HELPERS
> default y
>
> +config USE_GENERIC_SMP_HELPERS
> + def_bool y
> +
uhm, that's a bogus change - USE_GENERIC_SMP_HELPERS must not be set
on UP. This will break all UP compilations, on all x86 UP boxes:
kernel/softirq.c: In function '__try_remote_softirq':
kernel/softirq.c:522: error: implicit declaration of function '__smp_call_function_single'
so i've removed your patch for now.
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-10-30 21:54 ` Ingo Molnar
@ 2008-10-30 22:06 ` James Bottomley
2008-10-30 22:21 ` Ingo Molnar
0 siblings, 1 reply; 10+ messages in thread
From: James Bottomley @ 2008-10-30 22:06 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, Jens Axboe
On Thu, 2008-10-30 at 22:54 +0100, Ingo Molnar wrote:
> * James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
>
> > +++ b/arch/x86/Kconfig
> > @@ -167,9 +167,11 @@ config GENERIC_PENDING_IRQ
> > config X86_SMP
> > bool
> > depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
> > - select USE_GENERIC_SMP_HELPERS
> > default y
> >
> > +config USE_GENERIC_SMP_HELPERS
> > + def_bool y
> > +
>
> uhm, that's a bogus change - USE_GENERIC_SMP_HELPERS must not be set
> on UP. This will break all UP compilations, on all x86 UP boxes:
Heh, that would be one thing I don't build in my test rig.
> kernel/softirq.c: In function '__try_remote_softirq':
> kernel/softirq.c:522: error: implicit declaration of function '__smp_call_function_single'
>
> so i've removed your patch for now.
OK, I'll update it ... I assume it should depend on CONFIG_SMP then?
James
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-10-30 22:06 ` James Bottomley
@ 2008-10-30 22:21 ` Ingo Molnar
2008-11-09 17:53 ` James Bottomley
0 siblings, 1 reply; 10+ messages in thread
From: Ingo Molnar @ 2008-10-30 22:21 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-kernel, Jens Axboe
* James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> On Thu, 2008-10-30 at 22:54 +0100, Ingo Molnar wrote:
> > * James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> >
> > > +++ b/arch/x86/Kconfig
> > > @@ -167,9 +167,11 @@ config GENERIC_PENDING_IRQ
> > > config X86_SMP
> > > bool
> > > depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
> > > - select USE_GENERIC_SMP_HELPERS
> > > default y
> > >
> > > +config USE_GENERIC_SMP_HELPERS
> > > + def_bool y
> > > +
> >
> > uhm, that's a bogus change - USE_GENERIC_SMP_HELPERS must not be set
> > on UP. This will break all UP compilations, on all x86 UP boxes:
>
> Heh, that would be one thing I don't build in my test rig.
lets put it this way: that change, when put in my test rig, already
broke more x86 boxes than there are working Voyager test-boxes in
existence ;-) [it broke the build on three of them]
> > kernel/softirq.c: In function '__try_remote_softirq':
> > kernel/softirq.c:522: error: implicit declaration of function '__smp_call_function_single'
> >
> > so i've removed your patch for now.
>
> OK, I'll update it ... I assume it should depend on CONFIG_SMP then?
correct.
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-10-30 22:21 ` Ingo Molnar
@ 2008-11-09 17:53 ` James Bottomley
2008-11-10 9:35 ` Ingo Molnar
2008-11-11 11:09 ` Ingo Molnar
0 siblings, 2 replies; 10+ messages in thread
From: James Bottomley @ 2008-11-09 17:53 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, Jens Axboe
From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: Wed, 29 Oct 2008 14:53:06 -0500
Subject: [VOYAGER] fix generic smp helpers non compile
commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1
Author: Jens Axboe <jens.axboe@oracle.com>
Date: Thu Jun 26 11:21:34 2008 +0200
Add generic helpers for arch IPI function calls
didn't wire up the voyager smp call function correctly, so do that
here. Also make CONFIG_USE_GENERIC_SMP_HELPERS a def_bool y again,
since we now use the generic helpers for every x86 architecture.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
---
arch/x86/Kconfig | 5 ++++-
arch/x86/mach-voyager/voyager_smp.c | 16 ++++++++++++++--
2 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index c307439..09fc0c1 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -167,9 +167,12 @@ config GENERIC_PENDING_IRQ
config X86_SMP
bool
depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
- select USE_GENERIC_SMP_HELPERS
default y
+config USE_GENERIC_SMP_HELPERS
+ def_bool y
+ depends on SMP
+
config X86_32_SMP
def_bool y
depends on X86_32 && SMP
diff --git a/arch/x86/mach-voyager/voyager_smp.c b/arch/x86/mach-voyager/voyager_smp.c
index 0e33165..5214500 100644
--- a/arch/x86/mach-voyager/voyager_smp.c
+++ b/arch/x86/mach-voyager/voyager_smp.c
@@ -7,6 +7,7 @@
* This file provides all the same external entries as smp.c but uses
* the voyager hal to provide the functionality
*/
+#include <linux/cpu.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/kernel_stat.h>
@@ -1790,6 +1791,17 @@ void __init smp_setup_processor_id(void)
x86_write_percpu(cpu_number, hard_smp_processor_id());
}
+static void voyager_send_call_func(cpumask_t callmask)
+{
+ __u32 mask = cpus_addr(callmask)[0] & ~(1 << smp_processor_id());
+ send_CPI(mask, VIC_CALL_FUNCTION_CPI);
+}
+
+static void voyager_send_call_func_single(int cpu)
+{
+ send_CPI(1 << cpu, VIC_CALL_FUNCTION_SINGLE_CPI);
+}
+
struct smp_ops smp_ops = {
.smp_prepare_boot_cpu = voyager_smp_prepare_boot_cpu,
.smp_prepare_cpus = voyager_smp_prepare_cpus,
@@ -1799,6 +1811,6 @@ struct smp_ops smp_ops = {
.smp_send_stop = voyager_smp_send_stop,
.smp_send_reschedule = voyager_smp_send_reschedule,
- .send_call_func_ipi = native_send_call_func_ipi,
- .send_call_func_single_ipi = native_send_call_func_single_ipi,
+ .send_call_func_ipi = voyager_send_call_func,
+ .send_call_func_single_ipi = voyager_send_call_func_single,
};
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-11-09 17:53 ` James Bottomley
@ 2008-11-10 9:35 ` Ingo Molnar
2008-11-10 9:41 ` Yinghai Lu
2008-11-10 14:20 ` James Bottomley
2008-11-11 11:09 ` Ingo Molnar
1 sibling, 2 replies; 10+ messages in thread
From: Ingo Molnar @ 2008-11-10 9:35 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-kernel, Jens Axboe
* James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> From: James Bottomley <James.Bottomley@HansenPartnership.com>
> Date: Wed, 29 Oct 2008 14:53:06 -0500
> Subject: [VOYAGER] fix generic smp helpers non compile
hm, i reported a bug to you with this patch on Oct 30.
> commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1
> Author: Jens Axboe <jens.axboe@oracle.com>
> Date: Thu Jun 26 11:21:34 2008 +0200
>
> Add generic helpers for arch IPI function calls
>
> didn't wire up the voyager smp call function correctly, so do that
> here. Also make CONFIG_USE_GENERIC_SMP_HELPERS a def_bool y again,
> since we now use the generic helpers for every x86 architecture.
>
> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
> ---
> arch/x86/Kconfig | 5 ++++-
> arch/x86/mach-voyager/voyager_smp.c | 16 ++++++++++++++--
> 2 files changed, 18 insertions(+), 3 deletions(-)
no indication in the changelog whether that bug i reported got fixed -
did it? (i suspect it did, but not sure)
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-11-10 9:35 ` Ingo Molnar
@ 2008-11-10 9:41 ` Yinghai Lu
2008-11-10 14:20 ` James Bottomley
1 sibling, 0 replies; 10+ messages in thread
From: Yinghai Lu @ 2008-11-10 9:41 UTC (permalink / raw)
To: Ingo Molnar; +Cc: James Bottomley, linux-kernel, Jens Axboe
On Mon, Nov 10, 2008 at 1:35 AM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
>
>> From: James Bottomley <James.Bottomley@HansenPartnership.com>
>> Date: Wed, 29 Oct 2008 14:53:06 -0500
>> Subject: [VOYAGER] fix generic smp helpers non compile
>
> hm, i reported a bug to you with this patch on Oct 30.
>
>> commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1
>> Author: Jens Axboe <jens.axboe@oracle.com>
>> Date: Thu Jun 26 11:21:34 2008 +0200
>>
>> Add generic helpers for arch IPI function calls
>>
>> didn't wire up the voyager smp call function correctly, so do that
>> here. Also make CONFIG_USE_GENERIC_SMP_HELPERS a def_bool y again,
>> since we now use the generic helpers for every x86 architecture.
>>
>> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
>> ---
>> arch/x86/Kconfig | 5 ++++-
>> arch/x86/mach-voyager/voyager_smp.c | 16 ++++++++++++++--
>> 2 files changed, 18 insertions(+), 3 deletions(-)
>
> no indication in the changelog whether that bug i reported got fixed -
> did it? (i suspect it did, but not sure)
should fix some voyager_smp.c compliing...
YH
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-11-10 9:35 ` Ingo Molnar
2008-11-10 9:41 ` Yinghai Lu
@ 2008-11-10 14:20 ` James Bottomley
1 sibling, 0 replies; 10+ messages in thread
From: James Bottomley @ 2008-11-10 14:20 UTC (permalink / raw)
To: Ingo Molnar; +Cc: linux-kernel, Jens Axboe
On Mon, 2008-11-10 at 10:35 +0100, Ingo Molnar wrote:
> * James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
>
> > From: James Bottomley <James.Bottomley@HansenPartnership.com>
> > Date: Wed, 29 Oct 2008 14:53:06 -0500
> > Subject: [VOYAGER] fix generic smp helpers non compile
>
> hm, i reported a bug to you with this patch on Oct 30.
>
> > commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1
> > Author: Jens Axboe <jens.axboe@oracle.com>
> > Date: Thu Jun 26 11:21:34 2008 +0200
> >
> > Add generic helpers for arch IPI function calls
> >
> > didn't wire up the voyager smp call function correctly, so do that
> > here. Also make CONFIG_USE_GENERIC_SMP_HELPERS a def_bool y again,
> > since we now use the generic helpers for every x86 architecture.
> >
> > Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
> > ---
> > arch/x86/Kconfig | 5 ++++-
> > arch/x86/mach-voyager/voyager_smp.c | 16 ++++++++++++++--
> > 2 files changed, 18 insertions(+), 3 deletions(-)
>
> no indication in the changelog whether that bug i reported got fixed -
> did it? (i suspect it did, but not sure)
Yes ... that would be why this was a reply to the discussion email with
the report.
James
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fix smp generic helper voyager breakage
2008-11-09 17:53 ` James Bottomley
2008-11-10 9:35 ` Ingo Molnar
@ 2008-11-11 11:09 ` Ingo Molnar
1 sibling, 0 replies; 10+ messages in thread
From: Ingo Molnar @ 2008-11-11 11:09 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-kernel, Jens Axboe
* James Bottomley <James.Bottomley@HansenPartnership.com> wrote:
> From: James Bottomley <James.Bottomley@HansenPartnership.com>
> Date: Wed, 29 Oct 2008 14:53:06 -0500
> Subject: [VOYAGER] fix generic smp helpers non compile
>
> commit 3d4422332711ef48ef0f132f1fcbfcbd56c7f3d1
> Author: Jens Axboe <jens.axboe@oracle.com>
> Date: Thu Jun 26 11:21:34 2008 +0200
>
> Add generic helpers for arch IPI function calls
>
> didn't wire up the voyager smp call function correctly, so do that
> here. Also make CONFIG_USE_GENERIC_SMP_HELPERS a def_bool y again,
> since we now use the generic helpers for every x86 architecture.
>
> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
> ---
> arch/x86/Kconfig | 5 ++++-
> arch/x86/mach-voyager/voyager_smp.c | 16 ++++++++++++++--
> 2 files changed, 18 insertions(+), 3 deletions(-)
applied to tip/x86/urgent, thanks James!
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-11-11 11:10 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-30 21:09 [PATCH] fix smp generic helper voyager breakage James Bottomley
2008-10-30 21:20 ` Ingo Molnar
2008-10-30 21:54 ` Ingo Molnar
2008-10-30 22:06 ` James Bottomley
2008-10-30 22:21 ` Ingo Molnar
2008-11-09 17:53 ` James Bottomley
2008-11-10 9:35 ` Ingo Molnar
2008-11-10 9:41 ` Yinghai Lu
2008-11-10 14:20 ` James Bottomley
2008-11-11 11:09 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox