[gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

[gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von hikaru » 02.04.2015 14:52:57

Hallo,

Ich möchte gern die Kernspannung einer Notebook-CPU (Core2Duo T7600) reduzieren. Aus grauer Vorzeit erinnere ich mich an Linux-PHC zum Undervolting von CPUs unter Linux.
Ist das immer noch der bevorzugte Weg wie man sowas macht? Und falls ja, muss ich den Debian-Kernel (Wheezy bzw. Jessie) noch selbst patchen oder ist der inzwischen von Hause aus PHC-fähig?

Alles was ich dazu im Netz finde ist tendenziell ziemlich alt und teils widersprüchlich bezüglich Debian. Die Ubuntianer haben ihren Distributionskernel wohl diesbezüglich gepatcht[1] und vom Zeitpunkt her könnte das sogar noch gerade so für den Wheezy-Freeze gereicht haben falls man das hätte übernehmen wollen.

Hat dazu jemand Infos?


[1] https://bugs.launchpad.net/ubuntu/+sour ... bug/984288
Zuletzt geändert von hikaru am 02.04.2015 22:55:31, insgesamt 1-mal geändert.

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von hikaru » 02.04.2015 22:50:49

Ich löse mal auf:
Kernel patchen ist nicht nötig, nur das Modul muss man sich selbst bauen. Dazu muss man erstmal das passende finden, und zwar das tar.bz2 von hier [1]. (AMD-Nutzer nehmen wohl das erste von hier [2].)

Das Bauen ist (grundlegende Buildumgebung vorausgesetzt) denkbar einfach. Im README.1st steht dazu das:
3. Don't cheat your package management

make dkms_mkdeb
or
make dkms_mkrpm
Als Debianer also beherzt ein make dkms_mkdeb abgesetzt und es entsteht ein schönes dkms-Debianpaket.
Nachdem man das Paket installiert hat schmeißt man noch das acpi-cpufreq-Modul raus und lädt stattdessen phc-intel. Danach kann man fröhlich versuchen seine CPU an die Grenzen zu treiben.

Bei mir läuft zu dem Zweck gerade mprimes [3] Small-FFT-Test während ich die Spannung nach und nach absenke indem ich immer kleinere Werte nach /sys/devices/system/cpu/cpu*/cpufreq/phc_vids schreibe und dabei im Auge behalte ob mprime meckert.

Standardmäßig habe ich beim T7600 diese Anfangswerte:

Code: Alles auswählen

# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids 
39 34 29 24 19
Nach der ersten halben Stunde scheint das bei meinem T7600 stabil zu sein:

Code: Alles auswählen

# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids 
31 34 29 24 19
Die 34 für die zweithöchste Taktstufe würde ich später der Form halber natürlich auch noch anpassen, falls mprime bis morgen nicht meckert.
Die CPU-Temperatur ist im Vergleich zur Originaleinstellung um etwa 9°C von 84 auf 75°C gesunken.


[1] http://linux-phc.org/forum/viewtopic.php?f=7&t=267
[2] http://linux-phc.org/forum/viewtopic.php?f=13&t=2
[3] http://www.mersenne.org/download/

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von hikaru » 03.04.2015 11:17:28

Nachtrag:
Ich bin jetzt zu diesem Ergebnis gekommen:

Code: Alles auswählen

# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids 
31 22 19 19 19
Die dazugehörigen Frequenzen sehen so aus:

Code: Alles auswählen

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
2333000 2000000 1667000 1333000 1000000
Im Ubuntuusers-Wiki [1] gibt es eine Umrechnungstabelle der VIDs in Spannungen:
U = 700.0 mV + VID * 16 mV

Damit komme ich also auf diese Spannungen in mV:

Code: Alles auswählen

1196 1052 1023 1023 1023
In Anbetracht des vergleichsweise enormen Spannungsbedarfs für 2,33GHz wäre also zu überlegen, die CPU auf 2GHz zu drosseln:

Code: Alles auswählen

echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Die Grundspannung lässt sich bei Core2-CPUs nicht absenken. Zwar lassen sich niedrigere Werte schreiben, allerdings werden diese nicht umgesetzt. Zur Überprüfung gibt es ein Python-Script namens read_msr.py, welches ebenfalls im linux-phc-Forum verfübar ist. [2]

Die Ausgabe sieht bei mir aktuell so aus:

Code: Alles auswählen

# ./read_msr.py --readmsr
MSRTOOL V0.2pre-3 started...

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

[cpu1] [CURRENT] FID:14 HID:0 DID:0 VID:31 
[cpu1] [TARGET]  FID:14 HID:0 DID:0 VID:30 
[cpu1] [HIGHEST] FID:14 (HID:0 DID:0) VID:39 (not sure if they exist here)
[cpu1] [LOWEST]  FID:6 (HID:0 DID:0) VID:19 (not sure if they exist here)
[cpu1] [SLFM]    FID:6 VID:19 
[cpu1] [IDA]     FID:14 VID:39 
[cpu1] [CURRENTLY ACTIVE FEATURES] IDA:64 EIST:1
Schön zu sehen ist, dass die TARGET-VID für cpu1 hier niedriger ist als die CURRENT-VID. Das liegt in dem Fall daran, dass ich versucht habe beide Kerne mit unterschiedlichen VIDs anzusprechen, was aber nicht funktioniert, da offenbar die Kerne nicht getrennt versorgt werden und so immer der Wert für cpu0 gilt.
Stellt man VIDs <19 ein ist das Bild ähnlich. Die TARGET-VID wird diesen Wert annehmen, die CURRENT_VID allerdings nicht.

Das führt wiederum zur Überlegung, die Minimalfrequenz auf 1,67GHz anzuheben:

Code: Alles auswählen

echo 1667000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Wenn niedrigere Frequenzen ohnehin genauso viel Strom verbrauchen, dann kann man auch den höheren Takt fahren um die CPU früher wieder in einen Sleep-State zu führen und somit insgesamt weniger Strom zu verbrauchen.
Meine CPU läuft idle mit dieser Einstellung bei 43°C. Vor der ganzen Undervolting-Aktion waren es etwa 55°C, beides ohne Lüfter.


[1] http://wiki.ubuntuusers.de/Archiv/Proze ... te-in-Volt
[2] http://www.linux-phc.org/forum/viewtopic.php?f=13&t=13

r2h6
Beiträge: 116
Registriert: 26.01.2007 10:23:18

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von r2h6 » 25.01.2016 15:21:49

Hi,

ich hab es jetzt auch mal zum testen nach der Anleitung von hikaru installiert.
Jedoch bomme ich bei cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids nur:

0 0 0 0 0 0 0 0 0 0 0 0 0

angezeigt.
Woran könnte das liegen. Bei mir läuft Jessie mit dem 4.3.0-0.bpo.1-amd64 Kernel.

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von hikaru » 25.01.2016 16:02:54

Welche CPU läuft bei dir?

r2h6
Beiträge: 116
Registriert: 26.01.2007 10:23:18

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von r2h6 » 25.01.2016 16:16:02

Ein Intel I3 (4030U)

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von hikaru » 25.01.2016 16:34:05

PHC funktioniert nur bis zur Core2Duo-Generation, weil danach wohl die Schnittstellen für die Spannungsregulierung fehlen. [1]
Außerdem soll seit Sandy Bridge das Stromsparen von Hause aus gut funktionieren.

[1] http://linux-phc.org/forum/viewtopic.php?f=7&t=5196

r2h6
Beiträge: 116
Registriert: 26.01.2007 10:23:18

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von r2h6 » 25.01.2016 16:47:56

Schade. Ich hatte gedacht ich kann meinen Lüfter damit etwas leiser bekommen.
Danke dir für die Info.

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von hikaru » 25.01.2016 16:53:52

Um was für ein Gerät geht es denn? Vielleicht gibt es da Möglichkeiten, den Lüfter direkt zu steuern.
Stichworte: Debianthinkfan (Lenovo), Debiani8kutils (Dell)

r2h6
Beiträge: 116
Registriert: 26.01.2007 10:23:18

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von r2h6 » 25.01.2016 18:01:38

Lenovo G70-70, Intel I3 4030U und NVIDIA-Grafik GeForce 820M.

Ich glaube nicht das es eine Möglichkeit gibt. Bei der Büchse funktioniert eigentlich nichts richtig. WLAN stürzt ständig ab. Ruhemodus geht mal, mal gehts nicht. Nvidia hab ich auch nicht an laufen gebracht, ich bin froh das es jetzt habwegs mit Nouveau funktioniert. Lenovo kommt mir definitiv nicht mehr ins Haus.

drake23
Beiträge: 84
Registriert: 25.04.2004 22:17:26
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] CPU-Undervolting: PHC-Patch noch nötig?

Beitrag von drake23 » 28.05.2016 18:24:54

Hi, wollt mich nur mal fuer diesen Thread bedanken, funktioniert ja wunderbar unter Jessie, mein T8100 ist merklich kuehler, bzw. braucht den Luefter deutlich weniger.

Kleiner Hinweis noch: Wer TLP benutzt, kann dort die phc_controls auch direkt in /etc/default/tlp eintragen, dann sind die Einstellungen bei Neustart/Suspend/Resume erhalten.

LG

Antworten