cpufreq: change failed with new_state X and result 0 (X = 0 / 1)
DELL Inspiron 3800, BIOS A17 und Inspiron 4000, BIOS (mitlerweile) A23 Kernel 2.6.8-24-default bzw. 2.6.4-52-default powersave-0.9.19-2 bzw. -0.7-7 SuSE 9.2 bzw. 9.1 natürlich ACPI nahezu identische CPU Intel P III, Coppermine 500MHz / 600MHz SpeedStep, kein Throttling Unter Win98 (APM) und Win2k (ACPI) mit mitgelieferter Software "Intel SpeedStep" lässt sich die CPU auf 500 bzw 600 MHz einstellen. Linux: SpeedStepping funktioniert NICHT. Das BIOS scheint die Frequenz nicht zu ändern. Ich habe unter 9.1 und 9.2 john laufen lassen "john the ripper". Bei beiden Konfigurationen ändert sich beim Wechsel Akku/Netz oder bei "powersave -f bzw -l" /proc/cpuinfo, aber nicht die performance von john :-( und im log steht "cpufreq: change failed with new_state X and result 0", wobei X abwechselnd 0 und 1 ist. Markus
DELL Inspiron 3800, BIOS A17 und Inspiron 4000, BIOS (mitlerweile) A23 Kernel 2.6.8-24-default bzw. 2.6.4-52-default powersave-0.9.19-2 bzw. -0.7-7 SuSE 9.2 bzw. 9.1 natürlich ACPI nahezu identische CPU Intel P III, Coppermine 500MHz / 600MHz SpeedStep, kein Throttling
Unter Win98 (APM) und Win2k (ACPI) mit mitgelieferter Software "Intel SpeedStep" lässt sich die CPU auf 500 bzw 600 MHz einstellen.
Linux:
SpeedStepping funktioniert NICHT. ok, überholt.
Das BIOS scheint die Frequenz nicht zu ändern. falsch.
Ich habe unter 9.1 und 9.2 john laufen lassen "john the ripper". Bei beiden Konfigurationen ändert sich beim Wechsel Akku/Netz oder bei "powersave -f bzw -l" /proc/cpuinfo, aber nicht die performance von john :-( und im log steht "cpufreq: change failed with new_state X and result 0", wobei X abwechselnd 0 und 1 ist.
Was fuer eine CPU? Intel P III, Coppermine 500MHz / 600MHz SpeedStep
cat /proc/cpuinfo, vielleicht findest Du auch irgendeine Spec/Handbuch in der steht, was die CPU für Frequenzen/Volt Paare können sollte. Stimmt das mit /sys/devices/system/cpu/cpufreq/* überein? nicht weiter verfolgt...
Neuere Kernels haben ein debugging feature, das in Deinem Fall ideal wäre, da hat sich eh einiges getan, vielleicht geht's einfach mit n'em neuen Kernel. Kriegst Du's hin einen neuen Kernel Of The Day von ftp://ftp.suse.com/pub/people/mantel/kotd/i386/HEAD/ zu installieren (vorsicht, nicht den alten überschreiben)? hm, ich bin hier am Ende der Welt, fürn Kernel-Download müsste ich mal ein Internetcafe aufsuchen. Wenn ich jetzt nicht weiterkomme... Installieren is kein Problem, zu Hause hab ich auf anderen Maschinen auch schon diverse Kernel gebacken.
Hmm, nachdem die Kiste aber älter ist, sollte cpufreq eigentlich keine Probleme machen (allerhöchsten PIII Coppermine?). Die Fehlermeldung schaut ein bisschen nach BIOS bug aus, muss aber nicht sein... Das BIOS ist das letzte zu bekommende, frisch von DELL mit nem neuen Akku geliefert. Und das Problem ist auf beiden Maschinen das selbe.
Das liegt definitiv am Kernel, nicht am powersaved. Wenn Du kein C3 hast sagt Dir vielleicht powersave -r die richtige Frequenz. C3? 19.9 - 115.6 MHz. Ich habe im BIOS gefunden, dass es einen "Smart-CPU-Mode" gibt, der Throttling per BIOS macht. Frage mich aber, was dann SpeedStep da noch zu suchen hat. Oder lege ich damit nur die Obergrenze fest? - Scheint so. Also gut. Wenn ich die CPU mit john beschäftige bekomme ich 500 MHz bei powersave -l und 600 MHz bei powersave -f von powersave -r geliefert. Damit bin ich zufrieden :-)
Mein dummer john-test war scheinbar das falsche Mittel. Ich habe diese powersave-r-Werte jetzt mit einem john -test bestätigen können. Das gilt direkt für beide Maschinen...
Welches cpufreq Modul ist bei Dir geladen? speedstep-smi
Wenn Du momentan ein speedstep-xxx Module benutzt hilft Dir vielleicht das acpi Modul oder andersrum. Ohne speedstep-smi bekomme ich SpeedStep gar nicht zum Laufen. Ich kann dann mit powersave -r die vom BIOS geänderte CPU-Freq feststellen, aber die geht dann immer bis 600MHz hoch. Wenn ich speedstep-smi lade, tauchen die Fehlermeldungen auf, aber es funktioniert scheinbar trotzdem. Irgendwie hatte ich es einmal geschafft, dass die CPU bei hohen Werten, also 500/600MHz blieb, und nicht runtergetaktet wurde, aber evtl. hatte ich da john laufen und wusste es nicht. Im BIOS gibt es diese "Smart CPU Mode" Einstellung an/aus, laut BIOS gilt die sowohl für APM als auch für ACPI. Ich habe festgestellt, dass sie bei Linux für ACPI nicht gilt. Wenn powersaved und die Module nicht geladen sind, läuft die CPU auf vollen "Umdrehungen", egal, was im BIOS steht. Oder ich bekomme das zumindest von powersaved -r so angezeigt. Wenn ich von Hand "processor" lade gehts wieder. Wenn der powersaved läuft, wird die CPU-Frequenz dynamisch angepasst (laut powersaved -r), aber beeinflussen kann ich das nicht. Dazu evtl. noch nen Tip?
Danke Markus
Markus wrote:
DELL Inspiron 3800, BIOS A17 und Inspiron 4000, BIOS (mitlerweile) A23 Kernel 2.6.8-24-default bzw. 2.6.4-52-default powersave-0.9.19-2 bzw. -0.7-7 SuSE 9.2 bzw. 9.1 natürlich ACPI nahezu identische CPU Intel P III, Coppermine 500MHz / 600MHz SpeedStep, kein Throttling
Wenn der powersaved läuft, wird die CPU-Frequenz dynamisch angepasst (laut powersaved -r), aber beeinflussen kann ich das nicht.
/etc/sysconfig/powersave/scheme_* -> spezifische Einstellungen für den Betrieb unter Batterie, oder Netzteil. POWERSAVE_CPUFREQUENCY="dynamic" POWERSAVE_CPUFREQUENCY="powersave" -> immer niedrigste Freq POWERSAVE_CPUFREQUENCY="performance" -> immer höchste Freq Am Besten Du schaust einfach mal in Yast, der macht das für Dich: System->Powermanagement Thomas
DELL Inspiron 3800, BIOS A17 und Inspiron 4000, BIOS (mitlerweile) A23 Kernel 2.6.8-24-default bzw. 2.6.4-52-default powersave-0.9.19-2 bzw. -0.7-7 SuSE 9.2 bzw. 9.1 natürlich ACPI nahezu identische CPU Intel P III, Coppermine 500MHz / 600MHz SpeedStep, kein Throttling
Wenn der powersaved läuft, wird die CPU-Frequenz dynamisch angepasst (laut powersaved -r), aber beeinflussen kann ich das nicht.
/etc/sysconfig/powersave/scheme_* -> spezifische Einstellungen für den Betrieb unter Batterie, oder Netzteil. POWERSAVE_CPUFREQUENCY="dynamic"
POWERSAVE_CPUFREQUENCY="powersave" -> immer niedrigste Freq POWERSAVE_CPUFREQUENCY="performance" -> immer höchste Freq ja, aber...
Am Besten Du schaust einfach mal in Yast, der macht das für Dich: System->Powermanagement hab ich auch schon...
Aber ich kann an dem was passiert nix ändern. powersave erzählt mir, dass die CPU das nicht unterstützt, und was ich in sysconfig oder per YaST einstelle ist ihm (auch nach powers. restart, oder reboot) egal. ...deshalb frag ich... Markus
Markus wrote:
DELL Inspiron 3800, BIOS A17 und Inspiron 4000, BIOS (mitlerweile) A23 Kernel 2.6.8-24-default bzw. 2.6.4-52-default powersave-0.9.19-2 bzw. -0.7-7 SuSE 9.2 bzw. 9.1 natürlich ACPI nahezu identische CPU Intel P III, Coppermine 500MHz / 600MHz SpeedStep, kein Throttling
Wenn der powersaved läuft, wird die CPU-Frequenz dynamisch angepasst (laut powersaved -r), aber beeinflussen kann ich das nicht.
/etc/sysconfig/powersave/scheme_* -> spezifische Einstellungen für den Betrieb unter Batterie, oder Netzteil. POWERSAVE_CPUFREQUENCY="dynamic"
POWERSAVE_CPUFREQUENCY="powersave" -> immer niedrigste Freq POWERSAVE_CPUFREQUENCY="performance" -> immer höchste Freq
ja, aber...
Am Besten Du schaust einfach mal in Yast, der macht das für Dich: System->Powermanagement
hab ich auch schon...
Aber ich kann an dem was passiert nix ändern. powersave erzählt mir, dass die CPU das nicht unterstützt, und was ich in sysconfig oder per YaST einstelle ist ihm (auch nach powers. restart, oder reboot) egal. ...deshalb frag ich...
Hast Du es hingebracht cpufreqd und powersaved zusammen laufen zu lassen? Wenn ja solltest/musst Du einen von beiden ausschalten. Schau am besten mit ps aux |grep cpu (oder so ähnlich) um sicherzugehen. Gibt es bei Dir /sys/devices/system/cpu/cpufreq/*? Wenn ja mit: watch -n1 cat /sys/devices/system/cpu/cpufreq/scaling_setspeed kann man cpufreq Änderungen am Besten verfolgen. wenn nein: CPUfreq läuft nicht, das entsprechende Kernel Modul wurde nicht erfolgreich geladen, cpufreq Änderungen haben niemals (vom powersaved oder Kernel) stattgefunden. Thomas
DELL Inspiron 3800, BIOS A17 und Inspiron 4000, BIOS (mitlerweile) A23 Kernel 2.6.8-24-default bzw. 2.6.4-52-default powersave-0.9.19-2 bzw. -0.7-7 SuSE 9.2 bzw. 9.1 natürlich ACPI nahezu identische CPU Intel P III, Coppermine 500MHz / 600MHz SpeedStep, kein Throttling
Wenn der powersaved läuft, wird die CPU-Frequenz dynamisch angepasst (laut powersaved -r), aber beeinflussen kann ich das nicht.
Hast Du es hingebracht cpufreqd und powersaved zusammen laufen zu lassen? nein, cpufreqd ist nichtmal installiert.
Wenn ja solltest/musst Du einen von beiden ausschalten. weiß ich :-)
Schau am besten mit ps aux |grep cpu (oder so ähnlich) um sicherzugehen. nene, da gibts nix.
Gibt es bei Dir /sys/devices/system/cpu/cpufreq/*? ja
Wenn ja mit: watch -n1 cat /sys/devices/system/cpu/cpufreq/scaling_setspeed kann man cpufreq Änderungen am Besten verfolgen. ja, da steht aber entweder 500 oder 600 drin. Je nachdem, was ich auswähle (Leistung/Energiesparen).
wenn nein: CPUfreq läuft nicht, das entsprechende Kernel Modul wurde nicht erfolgreich geladen, cpufreq Änderungen haben niemals (vom powersaved oder Kernel) stattgefunden.
Aber wo kommen Frequenzen != 500 und != 600MHz her? Vom BIOS? Besteht die Chance, die doch irgendwie zu beeinflussen? Markus
On Tue, Feb 15, 2005 at 05:47:52PM +0200, Markus wrote:
Aber wo kommen Frequenzen != 500 und != 600MHz her? Vom BIOS? Besteht die Chance, die doch irgendwie zu beeinflussen?
Kurz: das willst du nicht. Lang: "powersave -r" lügt. Das sind "scheinbare" Frequenzen. Deine Maschine unterstützt Prozessor- C-States (schaue in /proc/acpi/processor/*/power). Wenn der Prozessor gerade nichts zu tun hat, dann geht er in den Modus "C3" (bei dir). Dann braucht er wesentlich weniger Strom und wird nicht mehr so warm. Sobald nun etwas zu tun ist (oder z.b. Busmaster-DMA anliegt), geht er wieder in "C2", "C1" oder in den "Arbeitsmodus". Solange er im C3 ist, schläft ein Teil der CPU, unter anderem auch der Zähler, der von "powersave -r" ver- wendet wird, um die CPU-Frequenz zu bestimmen. => Die CPU wird scheinbar langsamer => powersave -r lügt. Beeinflussen kannst du das mit dem Modul-parameter "c3=0" (für processor) oder durch entladen des processor-Moduls. Alternativ kannst du eine USB- Maus anstecken, dann gibts ständig Busmaster-DMA => kein C3. Allerdings ist mir nicht klar, warum du das wollen würdest. -- Stefan Seyfried
participants (3)
-
Markus
-
Stefan Seyfried
-
Thomas Renninger