acpi_processor.c - kernel 2.6.1
Hi,
reading the /usr/src/linux-2.6.1/drivers/acpi/processor.c i thought the kernel should set the state dynamically, based on the load. Maybe it is possible to set the processor-state of my centrino manually. Can please anybody tell me how to get it right?
The reason I'm asking is, that once I do load the processor.ko module, my Centrino switches immediately into C2-state. It never switches back to C1 state, even under heavy load like compiling the kernel.
I think the kernel should switch back from C2 to C1 state from alone????
Please ask me whatever you need to help me swtiching back into C1 state.
christian
cat /proc/acpi/processor/CPU0/power
active state: C2 default state: C1 bus master activity: ffffffff
states:
C1: promotion[C2] demotion[--] latency[000]
usage[00000010]
*C2: promotion[C3] demotion[C1] latency[001]
usage[00905291]
C3: promotion[--] demotion[C2] latency[185]
usage[00000000]
[email protected]:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 9 model name : Intel(R) Pentium(R) M processor 1600MHz stepping : 5 cpu MHz : 599.964 cache size : 1024 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe tm2 est bogomips : 1185.79
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 23 lines · christian graf
Hi,
reading the
/usr/src/linux-2.6.1/drivers/acpi/processor.ci thought the kernel should set the state dynamically, based on the load. Maybe it is possible to set the processor-state of my centrino manually. Can please anybody tell me how to get it right?The reason I'm asking is, that once I do load the processor.ko module, my Centrino switches immediately into C2-state. It never switches back to C1 state, even under heavy load like compiling the kernel.
I think the kernel should switch back from C2 to C1 state from alone????
Please ask me whatever you need to help me swtiching back into C1 state.
christian
cat
/proc/acpi/processor/CPU0/poweractive state: C2 default state: C1 bus master activity: ffffffff
Quoted 8 lines
states:
C1: promotion[C2] demotion[--] latency[000]
usage[00000010]
*C2: promotion[C3] demotion[C1] latency[001]
usage[00905291]
C3: promotion[--] demotion[C2] latency[185]
usage[00000000]
The latency for C2 is too low (and therefore it is a BIOS trouble). Anyway, C2 is better than C1, so you want C2 ;)
Note that there is some missing code in the processor.c stuff, which may give you more appropriate latency, and a C4 state. The code for is under developpement.
Signature · 11 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care. ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi Bruno,
I thought for full performance the C1 state is better as the C2 (which keeps good performance as well as powersavings)? Or why do you prefer C2?
How can I avoid the bios - trouble?
christian
Am So, den 18.01.2004 schrieb Ducrot Bruno um 03:58:
Quoted 33 lines · christian graf
Quoted 23 lines
Hi,
reading the
/usr/src/linux-2.6.1/drivers/acpi/processor.ci thought the kernel should set the state dynamically, based on the load. Maybe it is possible to set the processor-state of my centrino manually. Can please anybody tell me how to get it right?The reason I'm asking is, that once I do load the processor.ko module, my Centrino switches immediately into C2-state. It never switches back to C1 state, even under heavy load like compiling the kernel.
I think the kernel should switch back from C2 to C1 state from alone????
Please ask me whatever you need to help me swtiching back into C1 state.
christian
cat
/proc/acpi/processor/CPU0/poweractive state: C2 default state: C1 bus master activity: ffffffffQuoted 8 lines
states:
C1: promotion[C2] demotion[--] latency[000]
usage[00000010]
*C2: promotion[C3] demotion[C1] latency[001]
usage[00905291]
C3: promotion[--] demotion[C2] latency[185]
usage[00000000]
Quoted 6 lines
The latency for C2 is too low (and therefore it is a BIOS trouble). Anyway, C2 is better than C1, so you want C2 ;)
Note that there is some missing code in the
processor.cstuff, which may give you more appropriate latency, and a C4 state. The code for is under developpement.
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 3 lines · christian graf
I thought for full performance the C1 state is better as the C2 (which keeps good performance as well as powersavings)? Or why do you prefer C2?
C1 and C2 have much less influence to both performance and powersaving than the various P-States...
Dominik
Quoted 1 line · christian graf
Hi,
Hello,
Quoted 6 lines
reading the
/usr/src/linux-2.6.1/drivers/acpi/processor.ci thought the kernel should set the state dynamically, based on the load. Maybe it is possible to set the processor-state of my centrino manually. Can please anybody tell me how to get it right?
There is an user-space daemon, which adjusts CPU speed basing on current loading. And it is able to change CPU frequency if userspace cpufreq governor is turned on. I would like to see this functionality in kernel though.
Quoted 4 lines
The reason I'm asking is, that once I do load the processor.ko module, my Centrino switches immediately into C2-state. It never switches back to C1 state, even under heavy load like compiling the kernel.
I guess, that there is no code in kernel, which does watch current loading and adjust CPU speed. Also this is job for a cpufreq governor, not for CPU driver.
For now, there are three governors:
(1) powersave -- setting CPU frequency statically to lowest available frequency.
(2) performance -- setting to highest available frequency.
(3) userspace -- used for setting CPU frequency manually.
Probably there also should be number (4), which will set it basing on current loading.
Quoted 5 lines
I think the kernel should switch back from C2 to C1 state from alone????
Please ask me whatever you need to help me swtiching back into C1 state.
christian
Signature · 9 lines
umka ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn
A message that is not in the archive (sent off-list or not yet received): [email protected]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
Quoted 4 lines · Yury V. Umanets
I guess, that there is no code in kernel, which does watch current loading and adjust CPU speed. Also this is job for a cpufreq governor, not for CPU driver.
Quoted 8 lines
For now, there are three governors:
(1) powersave -- setting CPU frequency statically to lowest available frequency.
(2) performance -- setting to highest available frequency.
(3) userspace -- used for setting CPU frequency manually.Probably there also should be number (4), which will set it basing on current loading.
some questions and/or suggestions for kernel 2.6.1:
- - 'Power management option (ACPI, APM)' should be changed in 'Power management option (ACPI, APM, CPUFreq)'
- - why 'Power management option > CPU Frequency scaling > Default CPUFreq governor' shows only 'performance|userspace' and not also 'powersave'?
- - here my config section for 'Power management option > CPU Frequency scaling':
Quoted 4 lines
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=y
Quoted 8 lines
CONFIG_CPU_FREQ_PROC_INTF=yCONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y#CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACEis not setCONFIG_CPU_FREQ_GOV_PERFORMANCE=yCONFIG_CPU_FREQ_GOV_POWERSAVE=mCONFIG_CPU_FREQ_GOV_USERSPACE=m
#CONFIG_CPU_FREQ_24_APIis not setCONFIG_CPU_FREQ_TABLE=y
as I didn't know (I had never read docs before and the help from 'make menuconfig' isn't complete IMHO), I've never load the 'cpufreq_userspace' module, even if I was thinking to use the 'cpufreqd'. If I've correctly understood, 'cpufreqd' need the 'userspace' option/module to work, right? So, why even without the 'userspace' module loaded, is 'cpufreqd' working? I can see it via /proc/cpuinfo plugging in/out the AC-Adapter.
- - what does loading 'cpufreq_' modules cause? I can see no differences when I load 'cpufreq_[powersave|userspace]'...
I finished, for now :-)
Thx, bye,
Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org
iD8DBQFACoOAVAp7Xm10JmkRAs+aAJ9w5ZC7Nn5G6K5K5uemEvyb+Q7c9ACfYANJ c9A6Rz2Sns701M4qsdi77iw=
=qN86
-----END PGP SIGNATURE-----
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 1 line · Luca Capello
Hello,
[...]
Quoted 2 lines
'cpufreqd'. If I've correctly understood, 'cpufreqd' need the 'userspace' option/module to work, right? So, why even without the
no, it doesn't. Other cpufreq related daemons need it, not cpufreqd.
Quoted 5 lines
'userspace' module loaded, is 'cpufreqd' working? I can see it via
/proc/cpuinfoplugging in/out the AC-Adapter.- what does loading '
cpufreq_' modules cause? I can see no differences when I load 'cpufreq_[powersave|userspace]'...
you only load the code into the kernel, you can then use procfs to select frequencies ang governor.
ciao
Signature · 2 lines
mattia :wq!
A message that is not in the archive (sent off-list or not yet received): [email protected]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
Quoted 1 line · Mattia Dongili
no, it doesn't. Other cpufreq related daemons need it, not cpufreqd.
thx, I didn't know this :-) So, I read the 'man' page and I found that it uses the ACPI/APM/PMU battery info and the 'cpufreq' driver...
Quoted 2 lines
you only load the code into the kernel, you can then use procfs to select frequencies ang governor.
Well, stupid question, but I can't find it: where are the 'governor' entries?
Ciao (for the Italians), bye (for all the others), Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org
iD8DBQFACsrCVAp7Xm10JmkRAuRlAJ4ohELCGFFGukKIqY0vAuYPPUmT5gCdFCiw 8+7vNAb27svwZvFMm3390ao=
=+Jn0
-----END PGP SIGNATURE-----
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
A message that is not in the archive (sent off-list or not yet received): [email protected]
Configure your 2.6.1 kernel
Power management options (ACPI,..)-> ACPI
->CPU-Frequency scaling -> and there you see all the "governors".
Include powersave, performance and set the Default CPUFreq governor to userspace.
DOwn in the make menuconfig screen you have to choose your cpu wich fits your system !
load the newly added modules and you should find either one of the following options (depends on your configured modules):
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed or
echo 600000 > /proc/sys/cpu/0/speed
or
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
the 600000 is just an example. check out your frequency range by:
if you have mounted your sysfs, you should see the dir (and your frequency-range min, max):/sys/devices/system/cpu/cpu0/cpufreq$ ls
cpuinfo_max_freq scaling_driver scaling_min_freq cpuinfo_min_freq scaling_governor scaling_setspeed scaling_available_governors scaling_max_freq
hope this helps
christian
Am So, den 18.01.2004 schrieb Luca Capello um 19:04:
Quoted 28 lines
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1Hello,
Quoted 1 line · Mattia Dongili
no, it doesn't. Other cpufreq related daemons need it, not cpufreqd.
thx, I didn't know this :-) So, I read the 'man' page and I found that it uses the ACPI/APM/PMU battery info and the 'cpufreq' driver...
Quoted 2 lines
you only load the code into the kernel, you can then use procfs to select frequencies ang governor.
Well, stupid question, but I can't find it: where are the 'governor' entries?
Ciao (for the Italians), bye (for all the others), Gismo / Luca
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.orgiD8DBQFACsrCVAp7Xm10JmkRAuRlAJ4ohELCGFFGukKIqY0vAuYPPUmT5gCdFCiw 8+7vNAb27svwZvFMm3390ao=
=+Jn0
-----END PGP SIGNATURE-----
Quoted 10 lines
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Acpi-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-devel
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
Hu Yuri, hi Yu
I have enabled all 3 governors:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors powersave performance userspace
Actual after logging in I run the command:
TARGET=/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed F_LOW=powersave
echo $F_LOW > $TARGET
But it does not really matter to which governor I'm switching, my CPU stays in C2 independant from load and used governor. My notebook in a Siemens Lifebook E4010D, newest Bios.
But I thought setting a governor is totally independant from setting the cpu_freq, using speedstep-technology?
Any other ideas for me?
Thanks
christian
Am So, den 18.01.2004 schrieb Yury V. Umanets um 12:18:
Quoted 23 lines · christian graf
Quoted 1 line
Hi,
Hello,
Quoted 6 lines
reading the
/usr/src/linux-2.6.1/drivers/acpi/processor.ci thought the kernel should set the state dynamically, based on the load. Maybe it is possible to set the processor-state of my centrino manually. Can please anybody tell me how to get it right?There is an user-space daemon, which adjusts CPU speed basing on current loading. And it is able to change CPU frequency if userspace cpufreq governor is turned on. I would like to see this functionality in kernel though.
Quoted 4 lines
The reason I'm asking is, that once I do load the processor.ko module, my Centrino switches immediately into C2-state. It never switches back to C1 state, even under heavy load like compiling the kernel.
I guess, that there is no code in kernel, which does watch current loading and adjust CPU speed. Also this is job for a cpufreq governor, not for CPU driver.
Quoted 13 lines
For now, there are three governors:
(1) powersave -- setting CPU frequency statically to lowest available frequency.
(2) performance -- setting to highest available frequency.
(3) userspace -- used for setting CPU frequency manually.Probably there also should be number (4), which will set it basing on current loading.
Quoted 5 lines
I think the kernel should switch back from C2 to C1 state from alone????
Please ask me whatever you need to help me swtiching back into C1 state.
christian
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
Quoted 23 lines · Yury V. Umanets
Quoted 1 line · christian graf
Hi,
Hello,
Quoted 6 lines
reading the
/usr/src/linux-2.6.1/drivers/acpi/processor.ci thought the kernel should set the state dynamically, based on the load. Maybe it is possible to set the processor-state of my centrino manually. Can please anybody tell me how to get it right?There is an user-space daemon, which adjusts CPU speed basing on current loading. And it is able to change CPU frequency if userspace cpufreq governor is turned on. I would like to see this functionality in kernel though.
Quoted 4 lines
The reason I'm asking is, that once I do load the processor.ko module, my Centrino switches immediately into C2-state. It never switches back to C1 state, even under heavy load like compiling the kernel.
I guess, that there is no code in kernel, which does watch current loading and adjust CPU speed. Also this is job for a cpufreq governor, not for CPU driver.
Quoted 13 lines
For now, there are three governors:
(1) powersave -- setting CPU frequency statically to lowest available frequency.
(2) performance -- setting to highest available frequency.
(3) userspace -- used for setting CPU frequency manually.Probably there also should be number (4), which will set it basing on current loading.
Quoted 5 lines
I think the kernel should switch back from C2 to C1 state from alone????
Please ask me whatever you need to help me swtiching back into C1 state.
christian
ACPI Cx states are not the same as ACPI Px states and Cx have nothing to do with cpufreq. C-states are the sleeping states for a processor.
ACPI P-state will lower the voltage of the CPU and the frequency, but the processor is supposed to run, whereas ACPI C-state is a kind of replacement of the asm 'hlt' (for a 386 compatible), mostly used in the idle loop.
C1 is actually this asm 'hlt', whereas C2 require a read to a IO register, and C3 require a read to a IO register plus a kind of control of the bus (on UP system). More the x in Cx is high, more you get power saving, but this have a price for the latency in order to wakeup the processor when it have to serve an interrupt.
Signature · 11 lines
Ducrot Bruno -- Which is worse: ignorance or apathy? -- Don't know. Don't care. ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn