Re: Boot crash with 659006b x86/x2apic: Split enable and setup function

2015-08-17 Thread Thomas Gleixner
On Sun, 9 Aug 2015, Laura Abbott wrote:
> (missed the LKML cc apologies for the noise)
> 
> On 08/09/2015 06:51 AM, Laura Abbott wrote:
> > Hi,
> > 
> > We received a report[1] of an early boot crash. The reporter had difficulty
> > getting a full
> > kernel log to view and only had a screenshot which showed a crash in
> > native_apic_mem_read
> > (full screenshot available at the bugzilla along with dmesg from working
> > kernel)
> > 
> >   Bisection identified the following commit:
> > 
> > commit 659006bf3ae37a08706907ce1a36ddf57c9131d2
> > Author: Thomas Gleixner 
> > Date:   Thu Jan 15 21:22:26 2015 +
> > 
> >  x86/x2apic: Split enable and setup function
> > 
> >  enable_x2apic() is a convoluted unreadable mess because it is used for
> >  both enablement in early boot and for setup in cpu_init().
> > 
> >  Split the code into x2apic_enable() for enablement and x2apic_setup()
> >  for setup of (secondary cpus). Make use of the new state tracking to
> >  simplify the logic.
> > 
> >  Signed-off-by: Thomas Gleixner 
> >  Cc: Jiang Liu 
> >  Cc: Joerg Roedel 
> >  Cc: Tony Luck 
> >  Cc: Borislav Petkov 
> >  Link: http://lkml.kernel.org/r/20150115211703.129287...@linutronix.de
> >  Signed-off-by: Thomas Gleixner 
> > 
> > The report indicates that if local x2apic is disabled in the BIOS the kernel
> > boots.
> > 
> > Any ideas?

Does the patch below fix the issue?

Thanks,

tglx

>
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index dcb52850a28f..339cf4fc4ca9 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1424,7 +1424,7 @@ static inline void __x2apic_disable(void)
 {
u64 msr;
 
-   if (cpu_has_apic)
+   if (!cpu_has_apic)
return;
 
rdmsrl(MSR_IA32_APICBASE, msr);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Boot crash with 659006b x86/x2apic: Split enable and setup function

2015-08-17 Thread Thomas Gleixner
On Sun, 9 Aug 2015, Laura Abbott wrote:
 (missed the LKML cc apologies for the noise)
 
 On 08/09/2015 06:51 AM, Laura Abbott wrote:
  Hi,
  
  We received a report[1] of an early boot crash. The reporter had difficulty
  getting a full
  kernel log to view and only had a screenshot which showed a crash in
  native_apic_mem_read
  (full screenshot available at the bugzilla along with dmesg from working
  kernel)
  
Bisection identified the following commit:
  
  commit 659006bf3ae37a08706907ce1a36ddf57c9131d2
  Author: Thomas Gleixner t...@linutronix.de
  Date:   Thu Jan 15 21:22:26 2015 +
  
   x86/x2apic: Split enable and setup function
  
   enable_x2apic() is a convoluted unreadable mess because it is used for
   both enablement in early boot and for setup in cpu_init().
  
   Split the code into x2apic_enable() for enablement and x2apic_setup()
   for setup of (secondary cpus). Make use of the new state tracking to
   simplify the logic.
  
   Signed-off-by: Thomas Gleixner t...@linutronix.de
   Cc: Jiang Liu jiang@linux.intel.com
   Cc: Joerg Roedel j...@8bytes.org
   Cc: Tony Luck tony.l...@intel.com
   Cc: Borislav Petkov b...@alien8.de
   Link: http://lkml.kernel.org/r/20150115211703.129287...@linutronix.de
   Signed-off-by: Thomas Gleixner t...@linutronix.de
  
  The report indicates that if local x2apic is disabled in the BIOS the kernel
  boots.
  
  Any ideas?

Does the patch below fix the issue?

Thanks,

tglx


diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index dcb52850a28f..339cf4fc4ca9 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1424,7 +1424,7 @@ static inline void __x2apic_disable(void)
 {
u64 msr;
 
-   if (cpu_has_apic)
+   if (!cpu_has_apic)
return;
 
rdmsrl(MSR_IA32_APICBASE, msr);
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Boot crash with 659006b x86/x2apic: Split enable and setup function

2015-08-09 Thread Laura Abbott

(missed the LKML cc apologies for the noise)

On 08/09/2015 06:51 AM, Laura Abbott wrote:

Hi,

We received a report[1] of an early boot crash. The reporter had difficulty 
getting a full
kernel log to view and only had a screenshot which showed a crash in 
native_apic_mem_read
(full screenshot available at the bugzilla along with dmesg from working kernel)

  Bisection identified the following commit:

commit 659006bf3ae37a08706907ce1a36ddf57c9131d2
Author: Thomas Gleixner 
Date:   Thu Jan 15 21:22:26 2015 +

 x86/x2apic: Split enable and setup function

 enable_x2apic() is a convoluted unreadable mess because it is used for
 both enablement in early boot and for setup in cpu_init().

 Split the code into x2apic_enable() for enablement and x2apic_setup()
 for setup of (secondary cpus). Make use of the new state tracking to
 simplify the logic.

 Signed-off-by: Thomas Gleixner 
 Cc: Jiang Liu 
 Cc: Joerg Roedel 
 Cc: Tony Luck 
 Cc: Borislav Petkov 
 Link: http://lkml.kernel.org/r/20150115211703.129287...@linutronix.de
 Signed-off-by: Thomas Gleixner 

The report indicates that if local x2apic is disabled in the BIOS the kernel 
boots.

Any ideas?

Thanks,
Laura

[1]https://bugzilla.redhat.com/show_bug.cgi?id=1224764


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Boot crash with 659006b x86/x2apic: Split enable and setup function

2015-08-09 Thread Laura Abbott

(missed the LKML cc apologies for the noise)

On 08/09/2015 06:51 AM, Laura Abbott wrote:

Hi,

We received a report[1] of an early boot crash. The reporter had difficulty 
getting a full
kernel log to view and only had a screenshot which showed a crash in 
native_apic_mem_read
(full screenshot available at the bugzilla along with dmesg from working kernel)

  Bisection identified the following commit:

commit 659006bf3ae37a08706907ce1a36ddf57c9131d2
Author: Thomas Gleixner t...@linutronix.de
Date:   Thu Jan 15 21:22:26 2015 +

 x86/x2apic: Split enable and setup function

 enable_x2apic() is a convoluted unreadable mess because it is used for
 both enablement in early boot and for setup in cpu_init().

 Split the code into x2apic_enable() for enablement and x2apic_setup()
 for setup of (secondary cpus). Make use of the new state tracking to
 simplify the logic.

 Signed-off-by: Thomas Gleixner t...@linutronix.de
 Cc: Jiang Liu jiang@linux.intel.com
 Cc: Joerg Roedel j...@8bytes.org
 Cc: Tony Luck tony.l...@intel.com
 Cc: Borislav Petkov b...@alien8.de
 Link: http://lkml.kernel.org/r/20150115211703.129287...@linutronix.de
 Signed-off-by: Thomas Gleixner t...@linutronix.de

The report indicates that if local x2apic is disabled in the BIOS the kernel 
boots.

Any ideas?

Thanks,
Laura

[1]https://bugzilla.redhat.com/show_bug.cgi?id=1224764


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/