ACPI regression in 2.6.29 - cpufreq_performance doesn't work

From: Guilherme Malschitzky Schroeder
Date: Mon Feb 09 2009 - 22:53:24 EST


Hi,

If i set performance for scaling_governor using 2.6.29-rc4-git2,
ondemand stills control my CPU.
I get just 800MHz instead of 2268MHz.

dub:/sys/devices/system/cpu/cpu0/cpufreq# cat cpuinfo_cur_freq
800000
dub:/sys/devices/system/cpu/cpu0/cpufreq# echo performance > scaling_governor
dub:/sys/devices/system/cpu/cpu0/cpufreq# cat scaling_governor
performance
dub:/sys/devices/system/cpu/cpu0/cpufreq# cat cpuinfo_cur_freq
2267000

But, /proc/cpuinfo still shows 800MHz:

model name : Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz
stepping : 6
cpu MHz : 800.000

And i cannot remove the ondemand module, that is not used anymore:

dub:/sys/devices/system/cpu/cpu0/cpufreq# rmmod cpufreq_ondemand
ERROR: Module cpufreq_ondemand is in use

I can confirm that it's not at 2268MHz because glxgears differs:
alemao@dub:~/linux-2.6$ glxgears
4268 frames in 5.0 seconds = 853.428 FPS
^C
alemao@dub:~/linux-2.6$ sudo cpufreq-set -g ondemand
alemao@dub:~/linux-2.6$ glxgears
3283 frames in 5.0 seconds = 656.429 FPS

With 2.6.29-rc4-git2 and scaling_governor as "performance" i got about ~660FPS.

I've git bisect from 2.6.28.4 (which was working) to 2.6.29-rc4-git2
and i get into this:

alemao@dub:~/linux-2.6$ git bisect good
d96f94c604453f87fe24154b87e1e9a3a72511f8 is first bad commit
commit d96f94c604453f87fe24154b87e1e9a3a72511f8
Author: Pallipadi, Venkatesh <venkatesh.pallipadi@xxxxxxxxx>
Date: Mon Feb 2 11:57:18 2009 -0800

ACPI: Enable bit 11 in _PDC to advertise hw coord

Bit 11 in intel PDC definitions is meant for OS capability to handle
hardware coordination of P-states. In Linux we have always supported
hwardware coordination of P-states. Just let the BIOSes know that we
support it, by setting this bit.

Some BIOSes use this bit to choose between hardware or software coordination
and without this change below, BIOSes switch to software coordination, which
is not very optimal in terms of power consumption and extra
wakeups from idle.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

:040000 040000 bc006c98ae03b69ad27b2e80227abba178326d8d
e97c37098193793e3e2e719ecdac2fe5eab94104 M include

Now, without this patch, cpufreq_performance behaves correctly:

alemao@dub:~/linux-2.6$ uname -a
Linux dub 2.6.29-rc2 #27 SMP Tue Feb 10 01:36:46 BRST 2009 x86_64 GNU/Linux
alemao@dub:~/linux-2.6$ cat /proc/cpuinfo | grep MH
cpu MHz : 2268.000
cpu MHz : 2268.000
alemao@dub:~/linux-2.6$ cat
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
performance

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