linux-phc doesn't show an effect

If you have trouble with PHC you can ask and hope for help here.
Hero of War
Posts: 9
Joined: Mon 15. Feb 2010, 00:59

linux-phc doesn't show an effect

Post by Hero of War » Mon 15. Feb 2010, 01:17

Hi!

I've downloaded the phc-kernel 2.6.31-19-generic from ppa and phc-intel with the instructions in the README, but it doesn't work...

After installing, I unload the acpi-cpufreq with "sudo modprobe -r acpi-cpufreq" and load the new module with "sudo modprobe phc-intel".
But when I modify the VIDs, there is no effect. Even when I set them all to zero.

Also, I've downloaded read_msr. The --cpuinfo Parameter shows me, that PHC Version 0.3.2:2 is installed.

Somebody has an idea, how I can use linux-phc to decrease the temperature?

Thanks in Advance!

P.S: Sorry for my bad english. I'm not from a english-speaking country...

the-fallen
Administrator
Posts: 346
Joined: Wed 9. Jul 2008, 19:57

Re: linux-phc doesn't show an effect

Post by the-fallen » Mon 15. Feb 2010, 09:07

Heya,

what CPU do you have in your system and what is the content of the file phc_controls ?
( cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls )

Hero of War
Posts: 9
Joined: Mon 15. Feb 2010, 00:59

Re: linux-phc doesn't show an effect

Post by Hero of War » Mon 15. Feb 2010, 19:50

Hey!
My notebook has an Intel Core 2 Duo T6600 with Linux Mint 8 x64 (same as Ubuntu x64) installed.
The content of my phc_controls is:

Code: Select all

11:17 8:17 6:10
Thanks for Helping.

P.S:
Oh, I see, that my phc_controls in (/sys/devices/system/cpu/cpu0/cpufreq and .../cpu1/cpufreq) has changed to the standard values (11:35 8:25 6:17). I'm sure yesterday they were at the values I wrote above. To apply my values I wrote following lines into /etc/rc.local:

Code: Select all

echo "11:17 8:17 6:10" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
echo "11:17 8:17 6:10" > /sys/devices/system/cpu/cpu1/cpufreq/phc_controls
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

exit 0
Could you maybe summarize very short, what I have to do to install linux-phc correctly?
Maybe I've done a critical mistake.

Here are my steps:
- Download linux-phc kernel: 2.6.31-19-generic-phc and boot with it. (downloaded from ppa)
- Installed phc-intel (make prepare, make, sudo make install)
- unload "old" acpi-cpufreq with "sudo modprobe -r acpi-cpufreq" and load phc-intel with "sudo modprobe phc-intel"
- Wrote the text above in /etc/rc.local
- reboot
- (temperatures were at 45-55°C. Under Windows with RMClock they were at 30°C with voltages all at 0.9250V).

the-fallen
Administrator
Posts: 346
Joined: Wed 9. Jul 2008, 19:57

Re: linux-phc doesn't show an effect

Post by the-fallen » Tue 16. Feb 2010, 18:02

You did everything well.
But the values in the sysfs-files are not permanent. After reboot or after suspend/resume they reset to the default ones.

I am not sure if your trick with rc.local works. It should, in theory. Maybe the module is loaded later? Maybe you should investigate it. There is an init-script available here, maybe it can do the job, too.

Hero of War
Posts: 9
Joined: Mon 15. Feb 2010, 00:59

Re: linux-phc doesn't show an effect

Post by Hero of War » Tue 16. Feb 2010, 22:10

Hey,

Alright, I've done some investigations and found out, that the method with rc.local
and your phc_init.d both worked.

But I found out other things:

When I let burnMMX run and then read out the FIDs and VIDs with your MSRTOOL V0.2pre-3,
I see that my adjusted values appear.
Even the temperature with my values and the standardvalues are not the same.
With my values (11:17 8:17 6:17) the highest temperature is about 75°C.
With standard values (11:35 8:25 6:17) it goes over 80°C.

The output of readmsr is:

Code: Select all

sudo python read_msr.py --readmsr
MSRTOOL V0.2pre-3 started...

[cpu0] [CURRENT] FID:11 HID:0 DID:0 VID:17 
[cpu0] [TARGET]  FID:11 HID:0 DID:0 VID:17 
[cpu0] [HIGHEST] FID:11 (HID:0 DID:0) VID:35 (not sure if they exist here)
[cpu0] [LOWEST]  FID:6 (HID:0 DID:0) VID:17 (not sure if they exist here)
[cpu0] [SLFM]    FID:6 VID:17 
[cpu0] [IDA]     FID:11 VID:35 
[cpu0] [CURRENTLY ACTIVE FEATURES] IDA:64 EIST:1

[cpu1] [CURRENT] FID:11 HID:0 DID:0 VID:17 
[cpu1] [TARGET]  FID:11 HID:0 DID:0 VID:17 
[cpu1] [HIGHEST] FID:11 (HID:0 DID:0) VID:35 (not sure if they exist here)
[cpu1] [LOWEST]  FID:6 (HID:0 DID:0) VID:17 (not sure if they exist here)
[cpu1] [SLFM]    FID:6 VID:17 
[cpu1] [IDA]     FID:11 VID:35 
[cpu1] [CURRENTLY ACTIVE FEATURES] IDA:64 EIST:1
So I think linux-phc did his job, but anyhow not as RMClock does under Windows.
Under Windows+RMClock with CPU stressed (Prime95) the temperature always stays under 65°C.
Under Ubuntu with linux-phc it's about 10°C more.

So I lower the VID Values to about 14. And here is the problem:
phc-intel starts with 14, phc_controls are correct adjusted, but when I read out
VID and FIDs with readmsr, following appears:

Code: Select all

sudo python read_msr.py --readmsr
MSRTOOL V0.2pre-3 started...

[cpu0] [CURRENT] FID:6 HID:0 DID:0 [b]VID:17 [/b]
[cpu0] [TARGET]  FID:6 HID:0 DID:0 [b]VID:14 [/b]
[cpu0] [HIGHEST] FID:11 (HID:0 DID:0) VID:35 (not sure if they exist here)
[cpu0] [LOWEST]  FID:6 (HID:0 DID:0) VID:17 (not sure if they exist here)
[cpu0] [SLFM]    FID:6 VID:17 
[cpu0] [IDA]     FID:11 VID:35 
[cpu0] [CURRENTLY ACTIVE FEATURES] IDA:64 EIST:1

[cpu1] [CURRENT] FID:6 HID:0 DID:0 [b]VID:17 [/b]
[cpu1] [TARGET]  FID:6 HID:0 DID:0 [b]VID:14 [/b]
[cpu1] [HIGHEST] FID:11 (HID:0 DID:0) VID:35 (not sure if they exist here)
[cpu1] [LOWEST]  FID:6 (HID:0 DID:0) VID:17 (not sure if they exist here)
[cpu1] [SLFM]    FID:6 VID:17 
[cpu1] [IDA]     FID:11 VID:35 
[cpu1] [CURRENTLY ACTIVE FEATURES] IDA:64 EIST:1
It seems, that 17 is the lowest possible VID. (It's about 0,972 V).
Under Windows I had 0.9250V with RMClock, which is a VID at about 14.06.
Also RMClock shows me 6 possible FIDs, but under Linux I have only 3.
I've attached a screenshot of RMClock under Windows. Maybe it helps to solve this problem.

Is there a way to solve this problem?
And thank you very much for your help! :)

sinter
Posts: 6
Joined: Sat 13. Feb 2010, 09:52

Re: linux-phc doesn't show an effect

Post by sinter » Wed 17. Feb 2010, 22:16

How do you know exactly what voltage the 17 VID translates to? I believe RMClock can also set only 17 as the lowest VID, but the way it calculates the voltage is different from your method.

It seems like the Linux doesn't recognize correctly your CPU so you don't have the IDA and SLFM FIDs. Did you disable them in BIOS?

Hero of War
Posts: 9
Joined: Mon 15. Feb 2010, 00:59

Re: linux-phc doesn't show an effect

Post by Hero of War » Wed 17. Feb 2010, 23:40

Hi,
How do you know exactly what voltage the 17 VID translates to?
I used following formula from ubuntuusers.de: 700.0 mV + VID * 16 mV
I believe RMClock can also set only 17 as the lowest VID, but the way it calculates the voltage is different from your method.
I don't understand that. If RMClock has set the VID to 17 at the lowest FID (6), so why did Windows only reached about 30°C in Idle whereas Linux reaches about 40°C?
It seems like the Linux doesn't recognize correctly your CPU so you don't have the IDA and SLFM FIDs. Did you disable them in BIOS?
There is no such option in my BIOS. So I don't think I set there something wrong.
But maybe - as you said - Linux doesn't recognize my CPU correctly and deny using lower VIDs than 17.

So what to do? Should I wait until a new phc-kernel releases, which can recognize my CPU correctly, or is there another way to solve this problem?

sinter
Posts: 6
Joined: Sat 13. Feb 2010, 09:52

Re: linux-phc doesn't show an effect

Post by sinter » Thu 18. Feb 2010, 14:01

I used following formula from ubuntuusers.de: 700.0 mV + VID * 16 mV
Using that formula I also get 0.04V higher value in linux than in windows (according to RMClock), but I don't see any difference in Idle temps. My lowest voltage setting in RMClock is 0.9V and the lowest VID I can set in linux is 15.

Do you have a dedicated GPU with power management on in windows and off in linux? That could explain the high idle temp difference. The other thing is that in linux you're idling at 1.2 GHz with 200MHz FSB while in windows you can have 100MHz FSB and 600 - 800MHz frequency (EIST).

I have seen the readmsr values you posted:

Code: Select all

[cpu0] [CURRENTLY ACTIVE FEATURES] IDA:64 EIST:1
This is exactly what I get with IDA disabled from the BIOS and EIST enabled. This way you should get as the first FID in phc_controls a number above 100 (EIST) and 6 should be only the second. But you obviously don't have those values so you're out of luck.

Hero of War
Posts: 9
Joined: Mon 15. Feb 2010, 00:59

Re: linux-phc doesn't show an effect

Post by Hero of War » Tue 23. Feb 2010, 01:39

Hi,

Yes, I have a dedicated GPU (NVidia GT240M), but I don't know if power-management is on or off in Ubuntu.
I've google for that, but doesn't get any results. I found some tips, how to minimize power consumption, but idle temp is still the same.
Any idea how to turn on power-management in Ubuntu? In nvidia-settings there is no available option.

And yes, in Ubuntu i'm idling at 1.2 Ghz with 200 Mhz FSB.
But how to get lower values like you mentioned? It's possible under Windows, but why not under Ubuntu?
Is there a way to get that?

Ok, that thing with EIST is bad for me, I really found nothing in my BIOS and so there is no other method to handle that?

Thank you very much for helping!

sinter
Posts: 6
Joined: Sat 13. Feb 2010, 09:52

Re: linux-phc doesn't show an effect

Post by sinter » Wed 24. Feb 2010, 09:48

Hi

The 240M is actually a high-midrange GPU and can make some heat if it's run at the highest frequency all the time. Have you installed the Nvidia proprietary drivers (version 185)? You can test it by typing "nvidia-sttings" in the terminal. If you have the driver Nvidia X server settings will start up and among others you can check the thermal monitor and "PowerMizer" for the GPU.

Post Reply