acpicpu in NetBSD

Tronar

aus Überzeugung altmodisch
Hallo (insbesondere) Laptop-Besitzer!

Bei meinem Laptop müht sich der Lüfter redlich ab, und ich will nun endlich mal verstehen, wie man der CPU das Energiesparen angewöhnt.
Ich benutze den Standardkernel (i386), da sind so gut wie alle ACPI-Module fest eingebaut, auch acpicpu. Seltsamerweise sehe ich aber keinerlei Sysctls der Form hw.acpi.cpu.*. Die Manpage verrät, daß es einige Counter gibt, die man mit vmstat -ve sehen kann, und die sind auch da, stehen aber immer alle auf null. Auch beim Booten meldet sich acpicpu im Gegensatz zu allen anderen ACPI-Modulen nicht. Was kann da los sein?

Unter FreeBSD war der acpicpu ja nur ein Interface, und das wurde von einem Userspace-Programm wie powerd gemanagt. Unter NetBSD mußte ich feststellen, daß das Programm mit dem Namen "powerd" gar nichts mit dem FreeBSDschen zu tun hat und keine Prozessorzustände steuert. Frage: Soll acpicpu die Ansteuerung der P-, T- und C-Zustände allein besorgen, oder welches Programm nimmt man dafür her; was ist also das Äquivalent zum FreeBSDschen powerd? Ist acpicpu ungefähr dasselbe wie in FreeBSD? Gibt es irgendeine Dokumentation hierzu? Wie macht Ihr das mit Euren Laptops?

Ich habe mal das ganze ACPI auf verbose gestellt und hier angefügt, was in der /var/log/messages landet, außerdem die Ausgabe von vmstat -ve. Sonst noch etwas?
 

Anhänge

  • log.txt
    32,2 KB · Aufrufe: 395
  • vmstat.txt
    4,3 KB · Aufrufe: 392
In der /etc/rc.conf folgendes setzen:
Code:
economy_cx_lowest="LOW"
performance_cx_lowest="LOW"

Außerdem powerd aktivieren:
Code:
powerd_enable="YES"

Wenn Du mehrere Kerne hast fährst Du mit meiner Alternative besser: sysutils/powerdxx installieren und powerdxx_enable="YES" setzen.
 
Du kannst es mal unter '/usr/pkgsrc/sysutils/estd' versuchen oder halt mit 'pkgin in estd' direkt installieren.

Die manpage oder das NetBSD Wiki könnten dann weiterhelfen.
 
Guter Rat, danke! Das ist gar kein reiner EST-Daemon, sondern der nutzt ggf. auch die ACPI-Schnittstelle. (ACPI und EST stehen ja quasi in Konkurrenz zueinander.)
Leider geht es aber trotzdem nicht:
Code:
kt12# estd -o -A
estd: Cannot ACPI P-States
kt12# estd -o -E
estd: Cannot get supported frequencies (maybe you forced the wrong CPU-scaling technology?)
kt12# estd -o  
estd: Cannot guess CPU-scaling technology. (maybe you are missing some kernel-option?)
kt12# estd -f
estd: Cannot guess CPU-scaling technology. (maybe you are missing some kernel-option?)
Bzgl. -E sagt die Manpage: "The original (pre-Centrino) Speedstep is not supported." - Alles klar, ich habe einen Pentium 4m.
Bzgl. -A steht da: "ACPI P-States are currently only supported on Dragonfly BSD." Aber das könnte eine veraltete Information sein. Eher glaube ich, daß an meinem "acpicpu"-Modul was kaputt ist. Übrigens ist der direkte Zugriff auf Speedstep (ohne ACPI) über eine Sysctl möglich:
Code:
kt12# sysctl -w machdep.speedstep_state=0
machdep.speedstep_state: 1 -> 0
 
Ich habs nur grob überflogen von was für eine Kiste sprechen wie denn hier? Ein Pentium 4M, bekannter als sehr laute Heizung, dürfte mit APM vermutlich besser laufen als ACPI.
 
Zurück
Oben