CPU runter takten (ACPI)

CMW

Hä?!
Wie kann ich bei aktiviertem ACPI die CPU runtertakten? auch wenn dies eigentlich eine einfache Frage ist habe ich werder per Suchfunktion noch google was gefunden. ;'(
 
sollte das mit acpi gehen ? ich kenne nur diese mobile-prozis von intel mit speedstep-technologie die in schlepptops verbaut werden; die passen sich den anwendungen an, d.h. wenn du nur surfst taktet er sich automatisch runter um weniger strom/akku zu verbrauchen und wenn du dvd schaust oder zockst erhöht sich die taktrate entsprechend der leistung die benötigt wird...
 
Du hast zwei Schalter: hw.acpi.cpu.performance_speed und hw.acpi.cpu.economy_speed, an die Du per sysctl zuweisen kannst, z.B.:
Code:
sysctl hw.acpi.cpu.economy_speed=4
Die beiden bestimmen den CPU Takt im Performance Mode (mit AC-Line) und im Economy Mode (mit Batterie). Den aktuellen Speed bekommst Du mit
Code:
sysctl hw.acpi.cpu.current_speed
 
also bei meinem laptop (ibm thinkpad a22m) macht der das automatisch, sobald ich den netzstecker ziehe und so sich im batterie-modus befindet.
 
unter sysctl.hw.acpi erscheint ne menge, leider nichs von cpu. Funktioniert das mit dem generic Kernel? Acpi läuft ansonsten (Bat Status, Temp...)
 
Tach auch!

Also bei mir sind "*.performance_speed / *.economy_speed" eingestellt, allerdings tut sich nichts wenn ich den Stecker ziehe.
Das der Stecker gezogen ist scheint das System mitzukriegen ("*.acline: 0"), aber es geht nicht in den economy-Modus. Manuell Runterschalten geht natürlich.

Weiß jemand Rat?

@CMW: Du hast aber schon einen Mobilprozessor der dieses feature unterstützt?!
 
Ich dachte die Cx States sind erst unter -CURRENT und mit einem externen Patch nutzbar? <nachles>
Ah, hier ein Auszug aus der ML:
Nate Lawson wrote:

>>Ok - what do I need to do to try this new acpi stuff out? I'm running
>>-current as of Nov 14th, and I'd like to help debug/test this on my
>>notebook..
>>
>>
>
>cvsup to -current as of today would be a good first start. The code was
>committed Nov 15. Then boot with acpi enabled and post the output of
>sysctl hw.acpi.cpu. You can try different levels by doing sysctl
>hw.acpi.cpu.cx_lowest=x where x is 0...(number_supported_states - 1)
>
>
Thanks! I've rebuilt and am happy to say that nothing is hosed and I
booted successfully :)

Here's my sysctl output:
$ sysctl hw.acpi.cpu
hw.acpi.cpu.max_speed: 8
hw.acpi.cpu.current_speed: 4
hw.acpi.cpu.performance_speed: 8
hw.acpi.cpu.economy_speed: 4
hw.acpi.cpu.cx_supported: C1/1 C2/1 C3/85 C3/185
hw.acpi.cpu.cx_lowest: 0
hw.acpi.cpu.cx_history: 23589/0 0/0 0/0 0/0

I played with the different levels a bit, and can't tell much difference
in them. Let me know what else I can try to break with this. Just for
the info, I booted with a/c plugged in, but did the sysctl running on
battery.

Thanks Nate for the hints..
Eric
 
So ... des Rätsels lösung ... :

Ich habe in den FreeBSD Mobile Mailinglisten mal nach dem powernow gefragt und bruno decrut hat einen treiber dafür geschrieben ... ich hab ihn erstmal zum download auf meine seite gepackt:

http://www.antic-eye.de/powernow_k7.tar.gz

Installation:

- runterladen :)
- entpacken
- make install
- mit kldload powernow_k7 laden (oder wie ich in die loader.conf reinhacken)
- fertig ...

Jetzt hat man 9 stati zur auswahl:

# sysctl hw.powernow.state=0
setzt das ganze auf 650 Mhz (ca.) und ... state=8 auf volle leistung

... viel spaß mit einem zur abwechslung mal kühlen laptop :) ..

Schönes WE ....
 
So, erstmal vielen Dank für dieses Thema!

Ich hab momentan auf meine Laptop 5.2.1-Current zu laufen und seit dem letztem update funktioniert das Modul nicht mehr. :confused:

Wenn ich den alten Kernel lade läuft es einwandfrei. Beim neuen läd er das Modul nicht ordentlich.

Und wenn ich dann unter dem neuen Kernel das modul neu machen will, dann sieht es aus wie folgt:

Ich will erstmal nen make machen und dann kommt folgendes:

Warning: Object directory not changed from original /usr/home/JerKlo/powernow_k7
@ -> /usr/src/sys
machine -> /usr/src/sys/i386/include
touch opt_cpu.h
cc -O -pipe -march=athlon-xp -D_KERNEL -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c powernow_k7.c
powernow_k7.c: In function `retrieve_conf_from_bios':
powernow_k7.c:418: error: `KERNBASE' undeclared (first use in this function)
powernow_k7.c:418: error: (Each undeclared identifier is reported only once
powernow_k7.c:418: error: for each function it appears in.)
*** Error code 1

Und ich habe leider keine Ahnung warum. Also wenn mir jemand dabei helfen kann wäre ich sehr dankbar darüber.

Ich möcht wieder nen flüsternden Laptop haben.

THX, für die Antworten
 
Zuletzt bearbeitet:
Zurück
Oben