lkml.org 
[lkml]   [2009]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: PROBLEM: cannot get stable system since 2.6.28 kernel (amd64)
On Sat, Feb 21, 2009 at 02:21:46AM -0800, Philippe Grenard wrote:
> Hello Ingo, thanks for your reply,
>
> I've tried to boot 2.6.29-rc5 with both "Max CPUID Value" Enabled and
> Disabled, and tried for both case the "nofxsr" option without better result...

Philippe, Can you apply the appended patch and pass "noxsave" boot param
and see if it helps fix your freeze issue. This should atleast take away
the xsave equation from the picture.

I haven't followed this thread closely, but do you have nmi watchdog and other
debug options like CONFIG_DETECT_SOFTLOCKUP enabled? That might give more clues
about the freeze.

thanks,
suresh
---
From: Suresh Siddha <suresh.b.siddha@intel.com>
Subject: x86: Introduce noxsave boot parameter

Introduce "noxsave" boot parameter which will disable the cpu's xsave/xrstor
capabilities.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
---
Index: tip/Documentation/kernel-parameters.txt
===================================================================
--- tip/Documentation/kernel-parameters.txt.orig
+++ tip/Documentation/kernel-parameters.txt
@@ -1493,6 +1493,10 @@ and is between 256 and 4096 characters.
register save and restore. The kernel will only save
legacy floating-point registers on task switch.

+ noxsave [BUGS=X86] Disables x86 extended register state save
+ and restore using xsave. The kernel will fallback to
+ enabling legacy floating-point and sse state.
+
noclflush [BUGS=X86] Don't use the CLFLUSH instruction

nohlt [BUGS=ARM,SH]
Index: tip/arch/x86/kernel/cpu/common.c
===================================================================
--- tip/arch/x86/kernel/cpu/common.c.orig
+++ tip/arch/x86/kernel/cpu/common.c
@@ -127,6 +127,13 @@ DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_p
} };
EXPORT_PER_CPU_SYMBOL_GPL(gdt_page);

+static int __init x86_xsave_setup(char *s)
+{
+ setup_clear_cpu_cap(X86_FEATURE_XSAVE);
+ return 1;
+}
+__setup("noxsave", x86_xsave_setup);
+
#ifdef CONFIG_X86_32
static int cachesize_override __cpuinitdata = -1;
static int disable_x86_serial_nr __cpuinitdata = 1;

\
 
 \ /
  Last update: 2009-02-22 00:21    [from the cache]
©2003-2011 Jasper Spaans