LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [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	[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	[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;
as well as URLs for NNTP newsgroup(s).