public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching
@ 2008-09-15 15:05 Cyrill Gorcunov
  2008-09-15 16:12 ` Yinghai Lu
  0 siblings, 1 reply; 5+ messages in thread
From: Cyrill Gorcunov @ 2008-09-15 15:05 UTC (permalink / raw)
  To: Ingo Molnar, Maciej W. Rozycki; +Cc: LKML, Yinghai Lu

We should check first if there is ESR register before read/write it.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---

Please review and test if possible. Thanks.

Index: linux-2.6.git/arch/x86/kernel/smpboot.c
===================================================================
--- linux-2.6.git.orig/arch/x86/kernel/smpboot.c	2008-09-14 21:49:36.000000000 +0400
+++ linux-2.6.git/arch/x86/kernel/smpboot.c	2008-09-15 18:30:37.000000000 +0400
@@ -893,8 +893,10 @@ do_rest:
 		/*
 		 * Be paranoid about clearing APIC errors.
 	 	*/
-		apic_write(APIC_ESR, 0);
-		apic_read(APIC_ESR);
+		if (APIC_INTEGRATED(apic_version[phys_apicid])) {
+			apic_write(APIC_ESR, 0);
+			apic_read(APIC_ESR);
+		}
 	}
 
 	/*

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

* Re: [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching
  2008-09-15 15:05 [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching Cyrill Gorcunov
@ 2008-09-15 16:12 ` Yinghai Lu
  2008-09-15 16:22   ` Cyrill Gorcunov
  0 siblings, 1 reply; 5+ messages in thread
From: Yinghai Lu @ 2008-09-15 16:12 UTC (permalink / raw)
  To: Cyrill Gorcunov; +Cc: Ingo Molnar, Maciej W. Rozycki, LKML

On Mon, Sep 15, 2008 at 8:05 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> We should check first if there is ESR register before read/write it.
>
> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
> ---
>
> Please review and test if possible. Thanks.
>
> Index: linux-2.6.git/arch/x86/kernel/smpboot.c
> ===================================================================
> --- linux-2.6.git.orig/arch/x86/kernel/smpboot.c        2008-09-14 21:49:36.000000000 +0400
> +++ linux-2.6.git/arch/x86/kernel/smpboot.c     2008-09-15 18:30:37.000000000 +0400
> @@ -893,8 +893,10 @@ do_rest:
>                /*
>                 * Be paranoid about clearing APIC errors.
>                */
> -               apic_write(APIC_ESR, 0);
> -               apic_read(APIC_ESR);
> +               if (APIC_INTEGRATED(apic_version[phys_apicid])) {
> +                       apic_write(APIC_ESR, 0);
> +                       apic_read(APIC_ESR);
> +               }
>        }
>
>        /*
>

maybe unrelated. Do we need to keep apic_version array?

YH

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

* Re: [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching
  2008-09-15 16:12 ` Yinghai Lu
@ 2008-09-15 16:22   ` Cyrill Gorcunov
  2008-09-15 16:25     ` Yinghai Lu
  0 siblings, 1 reply; 5+ messages in thread
From: Cyrill Gorcunov @ 2008-09-15 16:22 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: Ingo Molnar, Maciej W. Rozycki, LKML

[Yinghai Lu - Mon, Sep 15, 2008 at 09:12:37AM -0700]
| On Mon, Sep 15, 2008 at 8:05 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
| > We should check first if there is ESR register before read/write it.
| >
| > Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| > ---
| >
| > Please review and test if possible. Thanks.
| >
| > Index: linux-2.6.git/arch/x86/kernel/smpboot.c
| > ===================================================================
| > --- linux-2.6.git.orig/arch/x86/kernel/smpboot.c        2008-09-14 21:49:36.000000000 +0400
| > +++ linux-2.6.git/arch/x86/kernel/smpboot.c     2008-09-15 18:30:37.000000000 +0400
| > @@ -893,8 +893,10 @@ do_rest:
| >                /*
| >                 * Be paranoid about clearing APIC errors.
| >                */
| > -               apic_write(APIC_ESR, 0);
| > -               apic_read(APIC_ESR);
| > +               if (APIC_INTEGRATED(apic_version[phys_apicid])) {
| > +                       apic_write(APIC_ESR, 0);
| > +                       apic_read(APIC_ESR);
| > +               }
| >        }
| >
| >        /*
| >
| 
| maybe unrelated. Do we need to keep apic_version array?
| 
| YH
|

as I see ACPI/MP parsing code use it - actually I think we could
bring another variable - but don't think it worth it. Anyway
we have to get APIC info from these tables and save it somwhere
maybe in this array or maybe in another variable. Or you mean
anything else that I missed?
 
		- Cyrill -

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

* Re: [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching
  2008-09-15 16:22   ` Cyrill Gorcunov
@ 2008-09-15 16:25     ` Yinghai Lu
  2008-09-15 16:30       ` Cyrill Gorcunov
  0 siblings, 1 reply; 5+ messages in thread
From: Yinghai Lu @ 2008-09-15 16:25 UTC (permalink / raw)
  To: Cyrill Gorcunov; +Cc: Ingo Molnar, Maciej W. Rozycki, LKML

On Mon, Sep 15, 2008 at 9:22 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> [Yinghai Lu - Mon, Sep 15, 2008 at 09:12:37AM -0700]
> | On Mon, Sep 15, 2008 at 8:05 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
> | > We should check first if there is ESR register before read/write it.
> | >
> | > Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
> | > ---
> | >
> | > Please review and test if possible. Thanks.
> | >
> | > Index: linux-2.6.git/arch/x86/kernel/smpboot.c
> | > ===================================================================
> | > --- linux-2.6.git.orig/arch/x86/kernel/smpboot.c        2008-09-14 21:49:36.000000000 +0400
> | > +++ linux-2.6.git/arch/x86/kernel/smpboot.c     2008-09-15 18:30:37.000000000 +0400
> | > @@ -893,8 +893,10 @@ do_rest:
> | >                /*
> | >                 * Be paranoid about clearing APIC errors.
> | >                */
> | > -               apic_write(APIC_ESR, 0);
> | > -               apic_read(APIC_ESR);
> | > +               if (APIC_INTEGRATED(apic_version[phys_apicid])) {
> | > +                       apic_write(APIC_ESR, 0);
> | > +                       apic_read(APIC_ESR);
> | > +               }
> | >        }
> | >
> | >        /*
> | >
> |
> | maybe unrelated. Do we need to keep apic_version array?
> |
> | YH
> |
>
> as I see ACPI/MP parsing code use it - actually I think we could
> bring another variable - but don't think it worth it. Anyway
> we have to get APIC info from these tables and save it somwhere
> maybe in this array or maybe in another variable. Or you mean
> anything else that I missed?

one apic_version or boot_cpu_apic_version could be enough.

YH

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

* Re: [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching
  2008-09-15 16:25     ` Yinghai Lu
@ 2008-09-15 16:30       ` Cyrill Gorcunov
  0 siblings, 0 replies; 5+ messages in thread
From: Cyrill Gorcunov @ 2008-09-15 16:30 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: Ingo Molnar, Maciej W. Rozycki, LKML

[Yinghai Lu - Mon, Sep 15, 2008 at 09:25:14AM -0700]
| On Mon, Sep 15, 2008 at 9:22 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
| > [Yinghai Lu - Mon, Sep 15, 2008 at 09:12:37AM -0700]
| > | On Mon, Sep 15, 2008 at 8:05 AM, Cyrill Gorcunov <gorcunov@gmail.com> wrote:
| > | > We should check first if there is ESR register before read/write it.
| > | >
| > | > Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| > | > ---
| > | >
| > | > Please review and test if possible. Thanks.
| > | >
| > | > Index: linux-2.6.git/arch/x86/kernel/smpboot.c
| > | > ===================================================================
| > | > --- linux-2.6.git.orig/arch/x86/kernel/smpboot.c        2008-09-14 21:49:36.000000000 +0400
| > | > +++ linux-2.6.git/arch/x86/kernel/smpboot.c     2008-09-15 18:30:37.000000000 +0400
| > | > @@ -893,8 +893,10 @@ do_rest:
| > | >                /*
| > | >                 * Be paranoid about clearing APIC errors.
| > | >                */
| > | > -               apic_write(APIC_ESR, 0);
| > | > -               apic_read(APIC_ESR);
| > | > +               if (APIC_INTEGRATED(apic_version[phys_apicid])) {
| > | > +                       apic_write(APIC_ESR, 0);
| > | > +                       apic_read(APIC_ESR);
| > | > +               }
| > | >        }
| > | >
| > | >        /*
| > | >
| > |
| > | maybe unrelated. Do we need to keep apic_version array?
| > |
| > | YH
| > |
| >
| > as I see ACPI/MP parsing code use it - actually I think we could
| > bring another variable - but don't think it worth it. Anyway
| > we have to get APIC info from these tables and save it somwhere
| > maybe in this array or maybe in another variable. Or you mean
| > anything else that I missed?
| 
| one apic_version or boot_cpu_apic_version could be enough.
| 
| YH
|

Yinghai I didn't check it - if you find it convenient -
I'll not object against... Maciej?

		- Cyrill -

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

end of thread, other threads:[~2008-09-15 16:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-15 15:05 [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching Cyrill Gorcunov
2008-09-15 16:12 ` Yinghai Lu
2008-09-15 16:22   ` Cyrill Gorcunov
2008-09-15 16:25     ` Yinghai Lu
2008-09-15 16:30       ` Cyrill Gorcunov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox