After an upgrade to 2.6.31 kernel, the system is very unstable.
Sometimes it doesn't boot. If it does, the laptop keyboard doesn't
work and after a few minutes it hangs with ATA errors.
I bisected this problem down to the following commit:
Author: Pallipadi, Venkatesh <email@example.com>
Date: Thu May 21 17:09:10 2009 -0700
ACPI: Disable ARB_DISABLE on platforms where it is not needed
ARB_DISABLE is a NOP on all of the recent Intel platforms.
For such platforms, reduce contention on c3_lock
by skipping the fake ARB_DISABLE.
Signed-off-by: Venkatesh Pallipadi <firstname.lastname@example.org>
Signed-off-by: Len Brown <email@example.com>
With this commit reverted, the system works fine with 2.6.31.
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 14
model name : Intel(R) Celeron(R) M CPU 410 @ 1.46GHz
stepping : 8
cpu MHz : 1463.194
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx constant_tsc up arch_perfmon bts pni monitor tm2 xtpr pdcm
bogomips : 2926.38
clflush size : 64
If I read the code correctly, in the commit message, "all of the
recent Intel platforms" seem to mean those with family == 6 and model
>= 14. My processor's model is 14 so could we have an
off-by-one error here?
Will you please try the following boot option and see whether the box can be booted correctly?
Created attachment 23973 [details]
Don't disable ARB_DISABLE when the mode id is less than 0x0f
Will you please try the latest kernel(2.6.32-rc7/rc8) and see whether the box can be booted correctly?
If it still can't be booted, please try the attached debug patch and see whether it can be booted correctly?
With both 2.6.31 and 2.6.32-rc8 I had the following results:
no extra kernel params --> doesn't boot
processor.max_cstate=1 --> works OK
idle=poll --> works OK
I'm unable to test with the patch right now, I'll do it later.
2.6.32-rc8 plus the patch works fine.
BTW, the machine in question is Acer Travelmate 2440, just in case you need it for the commit message or something.
is the patch in comment #2 an acceptable solution for upstream kernel?
if yes, please resend it to linux devel.
Author: Zhao Yakui <firstname.lastname@example.org>
Date: Fri Dec 11 15:17:20 2009 +0800
ACPI: Use the ARB_DISABLE for the CPU which model id is less than 0x0f.
is queued in the acpi tree for linux-2.6.33
shipped in linux-2.6.33 before -rc1