public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Possible x2apic breakage
@ 2009-01-29 15:41 Jack Steiner
  2009-01-29 16:15 ` Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: Jack Steiner @ 2009-01-29 15:41 UTC (permalink / raw)
  To: suresh.b.siddha; +Cc: mingo, linux-kernel

Suresh -

This popped up in Ingo's x86 tree yesterday. This appears to be breaking
on our simulator running in x2apic mode. If I understand the code,
this is a real breakage and not a problem in our simulator:


arch/x86/include/asm/genapic.h

	static inline unsigned int read_apic_id(void)
	{
        	unsigned int reg;

        	reg = *(u32 *)(APIC_BASE + APIC_ID);
        	return apic->get_apic_id(reg);
	}


As expected, the failure occurs right after:

	Enabling x2apic
	Enabled x2apic and interrupt-remapping

The next reference to apicid tries to read from mem instead of MSRs.


--- jack


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

* Re: Possible x2apic breakage
  2009-01-29 15:41 Possible x2apic breakage Jack Steiner
@ 2009-01-29 16:15 ` Ingo Molnar
  2009-01-29 20:03   ` Jack Steiner
  0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2009-01-29 16:15 UTC (permalink / raw)
  To: Jack Steiner; +Cc: suresh.b.siddha, linux-kernel


* Jack Steiner <steiner@sgi.com> wrote:

> Suresh -
> 
> This popped up in Ingo's x86 tree yesterday. This appears to be breaking
> on our simulator running in x2apic mode. If I understand the code,
> this is a real breakage and not a problem in our simulator:
> 
> 
> arch/x86/include/asm/genapic.h
> 
> 	static inline unsigned int read_apic_id(void)
> 	{
>         	unsigned int reg;
> 
>         	reg = *(u32 *)(APIC_BASE + APIC_ID);
>         	return apic->get_apic_id(reg);
> 	}
> 
> 
> As expected, the failure occurs right after:
> 
> 	Enabling x2apic
> 	Enabled x2apic and interrupt-remapping
> 
> The next reference to apicid tries to read from mem instead of MSRs.

yes - Suresh sent a fix earlier today. Could you please check latest 
tip/master (v2.6.29-rc3-1212-g69f3c6d or later), does it work fine in your 
simulator?

And i'll also merge struct apic_ops into struct genapic - now that genapic 
is unified there's no reason for the two to be separate.

	Ingo

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

* Re: Possible x2apic breakage
  2009-01-29 16:15 ` Ingo Molnar
@ 2009-01-29 20:03   ` Jack Steiner
  0 siblings, 0 replies; 3+ messages in thread
From: Jack Steiner @ 2009-01-29 20:03 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: suresh.b.siddha, linux-kernel

On Thu, Jan 29, 2009 at 05:15:46PM +0100, Ingo Molnar wrote:
> 
> * Jack Steiner <steiner@sgi.com> wrote:
> 
> > Suresh -
> > 
> > This popped up in Ingo's x86 tree yesterday. This appears to be breaking
> > on our simulator running in x2apic mode. If I understand the code,
> > this is a real breakage and not a problem in our simulator:
> > 
> > 
> > arch/x86/include/asm/genapic.h
> > 
> > 	static inline unsigned int read_apic_id(void)
> > 	{
> >         	unsigned int reg;
> > 
> >         	reg = *(u32 *)(APIC_BASE + APIC_ID);
> >         	return apic->get_apic_id(reg);
> > 	}
> > 
> > 
> > As expected, the failure occurs right after:
> > 
> > 	Enabling x2apic
> > 	Enabled x2apic and interrupt-remapping
> > 
> > The next reference to apicid tries to read from mem instead of MSRs.
> 
> yes - Suresh sent a fix earlier today. Could you please check latest 
> tip/master (v2.6.29-rc3-1212-g69f3c6d or later), does it work fine in your 
> simulator?

That fixed it. The latest tree now runs our (very limited) regression suite
of tests on all apic modes.

Thanks...


--- jack

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

end of thread, other threads:[~2009-01-29 20:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-29 15:41 Possible x2apic breakage Jack Steiner
2009-01-29 16:15 ` Ingo Molnar
2009-01-29 20:03   ` Jack Steiner

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