* Re: mtrr failure, 3.1-rc1
2011-08-25 16:46 ` Tejun Heo
@ 2011-08-25 17:21 ` anders eriksson
2011-08-25 17:43 ` Suresh Siddha
2011-08-25 19:47 ` mtrr failure, 3.1-rc1 anders eriksson
2 siblings, 0 replies; 11+ messages in thread
From: anders eriksson @ 2011-08-25 17:21 UTC (permalink / raw)
To: Tejun Heo
Cc: Linus Torvalds, Suresh Siddha, Peter Anvin, Ingo Molnar,
Sergei Shtylyov, linux-kernel
On 2011-08-25 18:46, Tejun Heo wrote:
> Indeed, while removing custom rendezvous code and switching to
> stop_machine, commit 192d8857427d "x86, mtrr: use stop_machine APIs
> for doing MTRR rendezvous" completely dropped mtrr setting code on
> !CONFIG_SMP.
>
> Anders, if your kernel didn't have SMP turned on, can you please
> verify the following patch fixes the problem?
Yes. It's single CPU compiled with !CONFIG_SMP. I'm compiling w/ this
patch right now.
Takes a while on vintage equipment... ;-)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: mtrr failure, 3.1-rc1
2011-08-25 16:46 ` Tejun Heo
2011-08-25 17:21 ` anders eriksson
@ 2011-08-25 17:43 ` Suresh Siddha
2011-08-25 17:43 ` Linus Torvalds
2011-08-25 19:47 ` mtrr failure, 3.1-rc1 anders eriksson
2 siblings, 1 reply; 11+ messages in thread
From: Suresh Siddha @ 2011-08-25 17:43 UTC (permalink / raw)
To: Tejun Heo
Cc: Linus Torvalds, Anders Eriksson, Peter Anvin, Ingo Molnar,
Sergei Shtylyov, linux-kernel@vger.kernel.org
On Thu, 2011-08-25 at 09:46 -0700, Tejun Heo wrote:
> Hello,
>
> On Thu, Aug 25, 2011 at 08:55:12AM -0700, Linus Torvalds wrote:
> > Hmm. Some of those commits are marked for stable too.
> >
> > I'm adding appropriate parties to the discussion (authors and
> > sign-offs from the five commits that that merge brings in), but it
> > would also be great if you could bisect exactly which commit broke for
> > you. You can make it quick by just doing
> >
> > git bisect start
> > git bisect bad dc43d9fa73d82083656fb9c02f4823bcdcfb9f91
> > git bisect good dc43d9fa73d82083656fb9c02f4823bcdcfb9f91^
> >
> > and it should take just a couple of tests. I *assume* it's the
> > stop_machine changes by Tejun &co, but who knows..
> >
> > Anders, is this a single-CPU system?
>
> Indeed, while removing custom rendezvous code and switching to
> stop_machine, commit 192d8857427d "x86, mtrr: use stop_machine APIs
> for doing MTRR rendezvous" completely dropped mtrr setting code on
> !CONFIG_SMP.
oops. My bad. Linus, Bad commit is not marked for stable.
I was able to reproduce the issue and tested the below patch. It looks
good.
Thanks.
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
>
> Anders, if your kernel didn't have SMP turned on, can you please
> verify the following patch fixes the problem?
>
> Thanks.
>
> diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
> index 08119a3..6b96110 100644
> --- a/arch/x86/kernel/cpu/mtrr/main.c
> +++ b/arch/x86/kernel/cpu/mtrr/main.c
> @@ -149,7 +149,6 @@ struct set_mtrr_data {
> */
> static int mtrr_rendezvous_handler(void *info)
> {
> -#ifdef CONFIG_SMP
> struct set_mtrr_data *data = info;
>
> /*
> @@ -171,7 +170,6 @@ static int mtrr_rendezvous_handler(void *info)
> } else if (mtrr_aps_delayed_init || !cpu_online(smp_processor_id())) {
> mtrr_if->set_all();
> }
> -#endif
> return 0;
> }
>
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: mtrr failure, 3.1-rc1
2011-08-25 17:43 ` Suresh Siddha
@ 2011-08-25 17:43 ` Linus Torvalds
2011-08-25 17:46 ` [PATCH] mtrr: fix UP breakage caused during switch to stop_machine Tejun Heo
0 siblings, 1 reply; 11+ messages in thread
From: Linus Torvalds @ 2011-08-25 17:43 UTC (permalink / raw)
To: Suresh Siddha
Cc: Tejun Heo, Anders Eriksson, Peter Anvin, Ingo Molnar,
Sergei Shtylyov, linux-kernel@vger.kernel.org
On Thu, Aug 25, 2011 at 10:43 AM, Suresh Siddha
<suresh.b.siddha@intel.com> wrote:
>
> I was able to reproduce the issue and tested the below patch. It looks
> good.
>
> Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Tejun, sign-off?
Linus
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH] mtrr: fix UP breakage caused during switch to stop_machine
2011-08-25 17:43 ` Linus Torvalds
@ 2011-08-25 17:46 ` Tejun Heo
2011-08-25 18:00 ` H. Peter Anvin
0 siblings, 1 reply; 11+ messages in thread
From: Tejun Heo @ 2011-08-25 17:46 UTC (permalink / raw)
To: Linus Torvalds
Cc: Suresh Siddha, Anders Eriksson, Peter Anvin, Ingo Molnar,
Sergei Shtylyov, linux-kernel@vger.kernel.org
While removing custom rendezvous code and switching to stop_machine,
commit 192d8857427d "x86, mtrr: use stop_machine APIs for doing MTRR
rendezvous" completely dropped mtrr setting code on !CONFIG_SMP
breaking MTRR settting on UP. Fix it by removing the incorrect
CONFIG_SMP.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Anders Eriksson <aeriksson@fastmail.fm>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
---
arch/x86/kernel/cpu/mtrr/main.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
index 08119a3..6b96110 100644
--- a/arch/x86/kernel/cpu/mtrr/main.c
+++ b/arch/x86/kernel/cpu/mtrr/main.c
@@ -149,7 +149,6 @@ struct set_mtrr_data {
*/
static int mtrr_rendezvous_handler(void *info)
{
-#ifdef CONFIG_SMP
struct set_mtrr_data *data = info;
/*
@@ -171,7 +170,6 @@ static int mtrr_rendezvous_handler(void *info)
} else if (mtrr_aps_delayed_init || !cpu_online(smp_processor_id())) {
mtrr_if->set_all();
}
-#endif
return 0;
}
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH] mtrr: fix UP breakage caused during switch to stop_machine
2011-08-25 17:46 ` [PATCH] mtrr: fix UP breakage caused during switch to stop_machine Tejun Heo
@ 2011-08-25 18:00 ` H. Peter Anvin
2011-08-25 18:03 ` Linus Torvalds
0 siblings, 1 reply; 11+ messages in thread
From: H. Peter Anvin @ 2011-08-25 18:00 UTC (permalink / raw)
To: Tejun Heo
Cc: Linus Torvalds, Suresh Siddha, Anders Eriksson, Ingo Molnar,
Sergei Shtylyov, linux-kernel@vger.kernel.org
On 08/25/2011 10:46 AM, Tejun Heo wrote:
> While removing custom rendezvous code and switching to stop_machine,
> commit 192d8857427d "x86, mtrr: use stop_machine APIs for doing MTRR
> rendezvous" completely dropped mtrr setting code on !CONFIG_SMP
> breaking MTRR settting on UP. Fix it by removing the incorrect
> CONFIG_SMP.
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Reported-by: Anders Eriksson <aeriksson@fastmail.fm>
> Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Linus, are you picking this up from email or should I put it in x86/urgent?
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mtrr: fix UP breakage caused during switch to stop_machine
2011-08-25 18:00 ` H. Peter Anvin
@ 2011-08-25 18:03 ` Linus Torvalds
0 siblings, 0 replies; 11+ messages in thread
From: Linus Torvalds @ 2011-08-25 18:03 UTC (permalink / raw)
To: H. Peter Anvin
Cc: Tejun Heo, Suresh Siddha, Anders Eriksson, Ingo Molnar,
Sergei Shtylyov, linux-kernel@vger.kernel.org
On Thu, Aug 25, 2011 at 11:00 AM, H. Peter Anvin <hpa@zytor.com> wrote:
>
> Linus, are you picking this up from email or should I put it in x86/urgent?
I took it directly,
Linus
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: mtrr failure, 3.1-rc1
2011-08-25 16:46 ` Tejun Heo
2011-08-25 17:21 ` anders eriksson
2011-08-25 17:43 ` Suresh Siddha
@ 2011-08-25 19:47 ` anders eriksson
2 siblings, 0 replies; 11+ messages in thread
From: anders eriksson @ 2011-08-25 19:47 UTC (permalink / raw)
To: Tejun Heo
Cc: Linus Torvalds, Suresh Siddha, Peter Anvin, Ingo Molnar,
Sergei Shtylyov, linux-kernel
On 2011-08-25 18:46, Tejun Heo wrote:
> Anders, if your kernel didn't have SMP turned on, can you please
> verify the following patch fixes the problem?
>
> Thanks.
>
> diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
> index 08119a3..6b96110 100644
> --- a/arch/x86/kernel/cpu/mtrr/main.c
> +++ b/arch/x86/kernel/cpu/mtrr/main.c
> @@ -149,7 +149,6 @@ struct set_mtrr_data {
> */
> static int mtrr_rendezvous_handler(void *info)
> {
> -#ifdef CONFIG_SMP
> struct set_mtrr_data *data = info;
>
> /*
> @@ -171,7 +170,6 @@ static int mtrr_rendezvous_handler(void *info)
> } else if (mtrr_aps_delayed_init || !cpu_online(smp_processor_id())) {
> mtrr_if->set_all();
> }
> -#endif
> return 0;
> }
>
Tested. Works as expected. Thanks!
-A
^ permalink raw reply [flat|nested] 11+ messages in thread