Holger Ensslen wrote:
Stefan Seyfried schrieb:
On Tue, Nov 30, 2004 at 11:59:54AM +0100, Holger Ensslen wrote:
Jean Pierre Wenzel schrieb:
(stepping in der Ausgabe von "cat /proc/cpuinfo") unterschiedlich funktioniert, manche Prozessoren haben dort eine 5 stehen, andere eine 6.
Meinste die Anzahl der Speedsteps? Die 5 hatten die Banias, die 6 die Dothan. Meines Wissens alle Dothan.
Ich glaube was hier gemeint ist, ist die allgemeine Prozessor Familie/Kennung: cpu family : 15 model : 2 model name : Intel(R) Celeron(R) CPU 2.60GHz stepping : 9
"stepping" in cpuinfo hat mit speedstep nichts zu tun. Das ist AFAIK die "Revisionsnummer" der Fertigungsmaske, sozusagen der Patchlevel des
Prozessors. Das gab es lange vor SpeedStep(TM).
...
Ist das der Grund warum z.B. bei einem Dothan M715 der bei einem M6811 Asus dabei war, Speedstepping mit dem SuSE 9.2 Kernel funktioniert, woanders derselbe Prozessor aber nicht?
Wenn nein, was könnte es dann sonst sein?
Bei den Banias stehen die Frequenz/Volt Paare fest im Kernel Code. Das speedstep Modul checkt die CPU Familie/Modell und sogar genau den Namen (siehe oben) und weisst dann der entsprechenden CPU (Banias) die richtigen Frequenzen/Volt Werte selber zu. (Es gab einmal einen Bug da ist nur nach Pentium XXX MHz gesucht worden, alleine das hinzufügen von GHz im Suchstring und streichen der Nullen hat ausgereicht, dass der Prozessor richtig erkannt wurde). Bei Dothans werden, so weit ich weiss, weil die Frequenz/Volt Paare sehr unterschiedlich sein können, die Werte immer aus dem BIOS über die DSDT (vielleicht auch andere) Tabelle geholt. Theoretisch kann man jetzt die Erkennung über /proc/cpuinfo Werte aufweichen und nur danach gehen ob das BIOS entsprechende Werte bereitstellt, was bestimmt auch für stepping 6 (nehme mal an das oben stimmt), gemacht wird. Was jetzt der genaue Grund ist weshalb es mit dem einen Kernel läuft mit dem anderen nicht, lässt sich aus dem Stehgreif schlecht sagen... In den neusten Kernel (2.6.10-rcx) gibt es ein Debug Variable für cpufreq im Kernel. Allerdings wird die, nehme ich an, im SUSE Kernel per default aus sein. Also wer da rumspielen will: ->neusten Kernel sourcen holen (2.6.10-rcx oder neuer) ->CONFIG_CPU_FREQ_DEBUG=y (und entsprechende cpufreq Module einschalten) Dann einen Wert nach echo "X" >/sys/module/cpufreq/debug schreiben. Wobei: 1 Der cpufreq core 2 Das cpufreq Modul (powernow-k8/speedstep-centrino/...) 4 Der governor etliche Debuginformationen ausspuckt. (das Ganze kann man für Kombinationen aufsummieren) Das ganze kann man auch schon zur Bootzeit als Parameter mitgeben (den genauen Parameter hab ich jetzt nicht im Kopf cpufreq_debug=x wahrscheinlich). Wer genaueres erfahren will, oder allgemein Kernel Probleme mit cpufreq hat, sollte sich direkt auf der cpufreq Liste umschauen/nachfragen (cpufreq@www.linux.org.uk). Dort sind einige Entwickler, teilweise auch von Intel und vor allem AMD, die auf Bugreports warten und sie fixen (wenn man bereit ist zu testen versteht sich ...). Nach meiner Erfahrung läuft CPUFreq momentan auf fast allen Rechnern die das unterstützen (mit einigen Ausnahmen (einige alte PIII, K7) und evtl. der allerneuste Dothan :) ). Thomas P.S.: Wollte eigentlich nur zwei Sätze schreiben, naja hoffentlich interessiert's a bissl ...