Hallo zusammen, Ich benutze SuSE 8.1 mit den 2.4er Kerneln von Mantel und habe dort kein Problem gehabt, über das Modul processor.o auf die Throttling States in /proc/acpi/processor/... zuzugreifen. Mit den Kernels 2.6.[0-4] kann ich das Modul auch mittels modprobe laden und auf das entsprechende /proc Interface zugreifen, nur beim Entladen (modprobe -r) gibts eine Kernel Panic. Unangenehm insofern, als der acpid beim Shutdown das Modul entlädt und der Rechner hängen bleibt. Allerdings ist es eine feine Sache, die CPU throtteln zu können, weshalb ich an einer Lösung interessiert wäre. Hat von Euch jemand das gleiche Problem? Ist es ein Fehler im Kernel oder bin ich zu dämlich? Vielen Dank schon mal für Eure Erfahrungen, schönes Wochenende flo -- Gravity is a myth, the Earth sucks.
On Fri, Mar 19, 2004 at 01:14:35PM +0100, Florian Tham wrote:
den Kernels 2.6.[0-4] kann ich das Modul auch mittels modprobe laden und auf das entsprechende /proc Interface zugreifen, nur beim Entladen (modprobe -r) gibts eine Kernel Panic. Unangenehm insofern, als der acpid beim Shutdown das Modul entlädt und der Rechner hängen bleibt.
man kann dem acpid sagen, welche module er nicht entladen soll. "ACPI_MODULES_NOT_TO_UNLOAD" in /etc/sysconfig/powermanagement.
Allerdings ist es eine feine Sache, die CPU throtteln zu können, weshalb ich an einer Lösung interessiert wäre. Hat von
Dumme Frage: wozu? Throttling ist nicht cpufrequency scaling, also sparst du damit nicht wirklich viel Strom. -- Stefan Seyfried
On Sat, Mar 20, 2004 at 01:32:53PM +0100, Stefan Seyfried wrote:
On Fri, Mar 19, 2004 at 01:14:35PM +0100, Florian Tham wrote:
den Kernels 2.6.[0-4] kann ich das Modul auch mittels modprobe laden und auf das entsprechende /proc Interface zugreifen, nur beim Entladen (modprobe -r) gibts eine Kernel Panic. Unangenehm insofern, als der acpid beim Shutdown das Modul entlädt und der Rechner hängen bleibt.
man kann dem acpid sagen, welche module er nicht entladen soll. "ACPI_MODULES_NOT_TO_UNLOAD" in /etc/sysconfig/powermanagement.
In der Datei hats nur ACPI_MODULES_NOT_TO_LOAD (SuSE 8.1?!). Trotzdem ein guter Hinweis: ich hab /etc/init.d/acpid so hingebogen, daß er jetzt diese Option auch unterstützt.
Allerdings ist es eine feine Sache, die CPU throtteln zu können, weshalb ich an einer Lösung interessiert wäre. Hat von
Dumme Frage: wozu? Throttling ist nicht cpufrequency scaling, also sparst du damit nicht wirklich viel Strom.
Ich dachte mir, daß ich jede Möglichkeit nutzen sollte Strom zu sparen, weil mein Akku eh nur 2h hält. Außerdem hab ich keine mobile CPU und performance management wird nicht unterstützt. Zugegeben, in diesem Bereich hab ich nicht viel Ahnung und wäre dankbar für Verweise auf einschlägige Literatur, um mich tiefer reingraben zu können. Gibt es eine Möglichkeit abzufragen, wieviel Watt die CPU aktuell verbraucht?
-- Stefan Seyfried
flo -- Gravity is a myth, the Earth sucks.
On Sat, Mar 20, 2004 at 04:51:52PM +0100, Florian Tham wrote:
On Sat, Mar 20, 2004 at 01:32:53PM +0100, Stefan Seyfried wrote:
man kann dem acpid sagen, welche module er nicht entladen soll. "ACPI_MODULES_NOT_TO_UNLOAD" in /etc/sysconfig/powermanagement.
In der Datei hats nur ACPI_MODULES_NOT_TO_LOAD (SuSE 8.1?!). Trotzdem ein guter Hinweis: ich hab /etc/init.d/acpid so hingebogen, daß er jetzt diese Option auch unterstützt.
ok. 8.1 ist auch noch nicht 2.6-ready ;-)
Dumme Frage: wozu? Throttling ist nicht cpufrequency scaling, also sparst du damit nicht wirklich viel Strom.
Ich dachte mir, daß ich jede Möglichkeit nutzen sollte Strom zu sparen, weil mein Akku eh nur 2h hält. Außerdem hab ich keine mobile CPU und performance management wird nicht unterstützt. Zugegeben, in diesem Bereich hab ich nicht viel Ahnung und wäre dankbar für Verweise auf einschlägige Literatur, um mich tiefer reingraben zu können.
Throttling hält die CPU meines Wissens einfach einen Teil der Zeit an. Das eignet sich hauptsächlich zur passiven Kühlung. Da die CPU wenn sie nichts zu tun hat aber sowieso angehalten wird, wirkt sich das (bei einem unbelasteten System) kaum aus. Wenn du nun was für dein System zu tun hast, dauert das mit Throttling einfach entsprechend länger, und verbraucht im Endeffekt etwa gleichviel Energie. Der Vorteil beim Verändern der Frequenz liegt darin, daß der Verbrauch dabei nichtlinear sinkt (halbe Frequenz -> weit weniger als halber Stromverbrauch). Bei modernen CPUs wird zusätzlich noch die Spannung abgesenkt, was zu noch stärkeren Einsparungen führt. Ein Beispiel: ein ASUS L2400D mit mobile Athlon braucht bei 500MHz ca halb soviel Strom wie bei 1200MHz. Das ist die ganze Maschine, inklusive Platte, Display, etc. Die CPU selbst wird bei 500MHz nur noch einen kleinen Teil des Gesamtstroms verbrauchen, bei 1200 jedoch einen Großteil.
Gibt es eine Möglichkeit abzufragen, wieviel Watt die CPU aktuell verbraucht?
cat /proc/acpi/battery/*/state Die Zeile "present rate" gibt den Stromverbrauch in mA oder mW an. -- Stefan Seyfried
On Sat, Mar 20, 2004 at 08:29:17PM +0100, Stefan Seyfried wrote:
On Sat, Mar 20, 2004 at 04:51:52PM +0100, Florian Tham wrote:
On Sat, Mar 20, 2004 at 01:32:53PM +0100, Stefan Seyfried wrote:
In der Datei hats nur ACPI_MODULES_NOT_TO_LOAD (SuSE 8.1?!). Trotzdem ein guter Hinweis: ich hab /etc/init.d/acpid so hingebogen, daß er jetzt diese Option auch unterstützt.
ok. 8.1 ist auch noch nicht 2.6-ready ;-)
Ja. Aber im Nachhinein wars nicht allzu viel Aufwand, SuSE 8.1 soweit zu kriegen, daß sie sich mit kernel 2.6 verträgt (von o.g. Problem abgesehen). Da ich mit meinem System sonst soweit zufrieden bin, sehe ich noch keinen Grund für ein komplettes Distributions-Update. Mal abwarten, was man so über die SuSE 9.1 lesen/hören wird ...
Throttling hält die CPU meines Wissens einfach einen Teil der Zeit an. Das eignet sich hauptsächlich zur passiven Kühlung. Da die CPU wenn sie nichts zu tun hat aber sowieso angehalten wird, wirkt sich das (bei einem unbelasteten System) kaum aus. Wenn du nun was für dein System zu tun hast, dauert das mit Throttling einfach entsprechend länger, und verbraucht im Endeffekt etwa gleichviel Energie. Der Vorteil beim Verändern der Frequenz liegt darin, daß der Verbrauch dabei nichtlinear sinkt (halbe Frequenz -> weit weniger als halber Stromverbrauch). Bei modernen CPUs wird zusätzlich noch die Spannung abgesenkt, was zu noch stärkeren Einsparungen führt. Ein Beispiel: ein ASUS L2400D mit mobile Athlon braucht bei 500MHz ca halb soviel Strom wie bei 1200MHz. Das ist die ganze Maschine, inklusive Platte, Display, etc. Die CPU selbst wird bei 500MHz nur noch einen kleinen Teil des Gesamtstroms verbrauchen, bei 1200 jedoch einen Großteil.
Das hört sich einleuchtend an, danke für die Erklärung. Rein interessehalber würde ich -- sobald es die Zeit ermöglicht -- gern mal die Akkulaufzeit unter verschiedenen Bedingungen testen, d.h. zum einen ausschließlich mit freq scaling (cpuspeed), zum anderen ausschließlich mit dynamischem CPU throttling (i.e. der throttling state soll sich der CPU-Auslastung anpassen), und dann auch noch in Kombination beider Möglichkeiten. Wenns interessiert, kann ich die Ergebnisse ja posten, sobald ich sie habe.
cat /proc/acpi/battery/*/state Die Zeile "present rate" gibt den Stromverbrauch in mA oder mW an.
present rate ist bei mir durchgängig auf 0mA, egal ob ich am Netz hänge oder die Kiste mit Akku läuft. :-( Kann das am schrottigen BIOS von ACER liegen? Meine DSDT hatte jedenfalls einige Field Access Fehler, die ich mittlerweile ausmerzen konnte. Hat aber ansonsten auch nicht viel gebracht; lade ich z.B. die Module fan bzw. thermal, sind die neuen Interfaces unter /proc/acpi trotzdem leer :-(
-- Stefan Seyfried
flo -- Gravity is a myth, the Earth sucks.
On Sat, Mar 20, 2004 at 11:37:41PM +0100, Florian Tham wrote:
ok. 8.1 ist auch noch nicht 2.6-ready ;-)
Ja. Aber im Nachhinein wars nicht allzu viel Aufwand, SuSE 8.1 soweit zu kriegen, daß sie sich mit kernel 2.6 verträgt (von o.g. Problem abgesehen). Da ich mit meinem System sonst soweit zufrieden bin, sehe ich noch keinen Grund für ein komplettes Distributions-Update. Mal abwarten, was man so über die SuSE 9.1 lesen/hören wird ...
klar, darum auch der smilie. Für erfahrene Benutzer ist es kein Problem und du hast ja das Problem mit dem Verhindern des Entladens der Module in den Griff bekommen :-)
Das hört sich einleuchtend an, danke für die Erklärung. Rein interessehalber würde ich -- sobald es die Zeit ermöglicht -- gern mal die Akkulaufzeit unter verschiedenen Bedingungen testen, d.h. zum einen ausschließlich mit freq scaling
wie geschrieben, das ist die Sachlage, so wie ich sie verstanden habe. Ausserdem deckt sich das mit meinen Erfahrungen, nämlich daß sich der Stromverbrauch im Leerlauf durch throttling überhaupt nicht verändert. Ebenso scheint es mir keinen bemerkenswerten Einfluß auf die Akkulaufzeit zu haben (und ich fahre Jede Woche >5h mit dem Zug und habe daher ausgiebig alle Möglichkeiten des Stromsparens getestet :-)
Die Zeile "present rate" gibt den Stromverbrauch in mA oder mW an.
present rate ist bei mir durchgängig auf 0mA, egal ob ich am Netz hänge oder die Kiste mit Akku läuft. :-( Kann das am schrottigen BIOS von ACER liegen? Meine
Ja. Das TM 661 LC (das, mit dem kaputten Video Bios, das auf dem 1400er Display nur 1280 anzeigt) hat genau dasselbe Problem. Meine Meinung zu ACER schreibe ich hier lieber nicht.
DSDT hatte jedenfalls einige Field Access Fehler, die ich mittlerweile ausmerzen konnte. Hat aber ansonsten auch nicht viel gebracht; lade ich z.B. die Module fan bzw. thermal, sind die neuen Interfaces unter /proc/acpi trotzdem leer :-(
Schrott-BIOS eben :-( -- Stefan Seyfried
participants (2)
-
Florian Tham
-
Stefan Seyfried