Stromsparen mit AMD Bulldozer

Selbiger Test ohne cpufreq-Debug (100 Iterationen ḿit 250 Delay)- Der powerd schaltet immer noch nicht.

dmesg
Code:
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu5
hwpstate0: result  P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: result  P0-state on cpu6
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu7
hwpstate0: result  P1-state on cpu7
hwpstate0: set freq failed, err 6
hwpstate0: setting P1-state on cpu0
hwpstate0: result  P1-state on cpu0
hwpstate0: setting P1-state on cpu1
hwpstate0: result  P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: result  P1-state on cpu2
hwpstate0: setting P1-state on cpu3
hwpstate0: result  P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: result  P1-state on cpu4
hwpstate0: setting P1-state on cpu5
hwpstate0: result  P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: result  P1-state on cpu6
hwpstate0: setting P1-state on cpu7
hwpstate0: result  P1-state on cpu7
hwpstate0: setting P0-state on cpu0
hwpstate0: result  P0-state on cpu0
hwpstate0: setting P0-state on cpu1
hwpstate0: result  P0-state on cpu1
hwpstate0: setting P0-state on cpu2
hwpstate0: result  P0-state on cpu2
hwpstate0: setting P0-state on cpu3
hwpstate0: result  P0-state on cpu3
hwpstate0: setting P0-state on cpu4
hwpstate0: result  P0-state on cpu4
hwpstate0: setting P0-state on cpu5
hwpstate0: result  P0-state on cpu5
hwpstate0: setting P0-state on cpu6
hwpstate0: result  P0-state on cpu6
hwpstate0: setting P0-state on cpu7
hwpstate0: result  P0-state on cpu7
hwpstate0: setting P1-state on cpu0
hwpstate0: result  P0-state on cpu0
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu1
hwpstate0: result  P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: result  P0-state on cpu2
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu3
hwpstate0: result  P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: result  P0-state on cpu4
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu5
hwpstate0: result  P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: result  P0-state on cpu6
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu7
hwpstate0: result  P1-state on cpu7
hwpstate0: set freq failed, err 6
hwpstate0: setting P1-state on cpu0
hwpstate0: result  P1-state on cpu0
hwpstate0: setting P1-state on cpu1
hwpstate0: result  P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: result  P1-state on cpu2
hwpstate0: setting P1-state on cpu3
hwpstate0: result  P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: result  P1-state on cpu4
hwpstate0: setting P1-state on cpu5
hwpstate0: result  P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: result  P1-state on cpu6
hwpstate0: setting P1-state on cpu7
hwpstate0: result  P1-state on cpu7
hwpstate0: setting P0-state on cpu0
hwpstate0: result  P0-state on cpu0
hwpstate0: setting P0-state on cpu1
hwpstate0: result  P0-state on cpu1
hwpstate0: setting P0-state on cpu2
hwpstate0: result  P0-state on cpu2
hwpstate0: setting P0-state on cpu3
hwpstate0: result  P0-state on cpu3
hwpstate0: setting P0-state on cpu4
hwpstate0: result  P0-state on cpu4
hwpstate0: setting P0-state on cpu5
hwpstate0: result  P0-state on cpu5
hwpstate0: setting P0-state on cpu6
hwpstate0: result  P0-state on cpu6
hwpstate0: setting P0-state on cpu7
hwpstate0: result  P0-state on cpu7
hwpstate0: setting P1-state on cpu0
hwpstate0: result  P0-state on cpu0
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu1
hwpstate0: result  P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: result  P0-state on cpu2
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu3
hwpstate0: result  P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: result  P0-state on cpu4
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu5
hwpstate0: result  P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: result  P0-state on cpu6
hwpstate0: error: loop is not enough.
hwpstate0: setting P1-state on cpu7
hwpstate0: result  P1-state on cpu7
hwpstate0: set freq failed, err 6
hwpstate0: setting P1-state on cpu0
hwpstate0: result  P1-state on cpu0
hwpstate0: setting P1-state on cpu1
hwpstate0: result  P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: result  P1-state on cpu2
hwpstate0: setting P1-state on cpu3
hwpstate0: result  P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: result  P1-state on cpu4
hwpstate0: setting P1-state on cpu5
hwpstate0: result  P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: result  P1-state on cpu6
hwpstate0: setting P1-state on cpu7
hwpstate0: result  P1-state on cpu7
hwpstate0: setting P0-state on cpu0
hwpstate0: result  P0-state on cpu0
hwpstate0: setting P0-state on cpu1
hwpstate0: result  P0-state on cpu1
hwpstate0: setting P0-state on cpu2
hwpstate0: result  P0-state on cpu2
hwpstate0: setting P0-state on cpu3
hwpstate0: result  P0-state on cpu3
hwpstate0: setting P0-state on cpu4
hwpstate0: result  P0-state on cpu4
hwpstate0: setting P0-state on cpu5
hwpstate0: result  P0-state on cpu5
hwpstate0: setting P0-state on cpu6
hwpstate0: result  P0-state on cpu6
hwpstate0: setting P0-state on cpu7
hwpstate0: result  P0-state on cpu7

Ohne Debug-Ausgaben im Kernel schaltet der Powerd endlich wieder:
Code:
powerd: unable to determine AC line status
load   0%, current freq 3100 MHz ( 0), wanted freq 3003 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2909 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2818 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2729 MHz
changing clock speed from 3100 MHz to 2800 MHz
powerd: error setting CPU frequency 2800: Device not configured
load  44%, current freq 3100 MHz ( 0), wanted freq 3202 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3101 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3004 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2910 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2819 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2730 MHz
changing clock speed from 3100 MHz to 2800 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2644 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2561 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2480 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2402 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2326 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2253 MHz
changing clock speed from 2800 MHz to 2300 MHz
powerd: error setting CPU frequency 2300: Device not configured
load  54%, current freq 2800 MHz ( 1), wanted freq 3244 MHz
changing clock speed from 2800 MHz to 3100 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3142 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3043 MHz
load  16%, current freq 3100 MHz ( 0), wanted freq 2947 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2854 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2764 MHz
changing clock speed from 3100 MHz to 2800 MHz
powerd: error setting CPU frequency 2800: Device not configured
load  31%, current freq 3100 MHz ( 0), wanted freq 2764 MHz
changing clock speed from 3100 MHz to 2800 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2677 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2593 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2511 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2432 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2356 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2282 MHz
changing clock speed from 2800 MHz to 2300 MHz
powerd: error setting CPU frequency 2300: Device not configured
load  39%, current freq 2800 MHz ( 1), wanted freq 2373 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2298 MHz
changing clock speed from 2800 MHz to 2300 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 2226 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 2156 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 2088 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 2022 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 1958 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 1896 MHz
changing clock speed from 2300 MHz to 1900 MHz
powerd: error setting CPU frequency 1900: Device not configured
load  44%, current freq 2300 MHz ( 2), wanted freq 2224 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 2154 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 2086 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 2020 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 1956 MHz
load   0%, current freq 2300 MHz ( 2), wanted freq 1894 MHz
changing clock speed from 2300 MHz to 1900 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1834 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1776 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1720 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1666 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1613 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1562 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1513 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1465 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1419 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1400 MHz
changing clock speed from 1900 MHz to 1400 MHz
powerd: error setting CPU frequency 1400: Device not configured
load  45%, current freq 1900 MHz ( 3), wanted freq 1680 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1627 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1576 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1526 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1478 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1431 MHz
load   0%, current freq 1900 MHz ( 3), wanted freq 1400 MHz
changing clock speed from 1900 MHz to 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
load   0%, current freq 1400 MHz ( 4), wanted freq 1400 MHz
^Ctotal joules used: 186.781
[root@mcp] ~ #
dmesgre0: link state changed to UP
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
[root@mcp] ~ #
[/CODE]

Der Erfolg bleibt leider aus. Gleiches Ergebnis auch bei eingeschaltetem ACPI
 
So, ich habe mir gerade alles noch einmal angesehen. Erst einmal vergesse, was ich gestern Abend sagte. Tatsächlich wird der "hwpstate0: set freq failed, err 6" zwar durch cpufreq(4) geworfen, hat seinen Ursprung aber ebenfalls in hwpstate(4). Da nach der Doku (zumindest so, wie ich die wirre Beschreibung verstehe) der vorhandene Code korrekt ist, habe ich noch einmal einen Blick zur Linux-Fraktion geworfen. Sie haben zu unserem Code einen kleinen aber feinen Unterschied: Sie warten nicht einfach 100*100 Sekunden und hoffen, dass der Kram korrekt gesetzt wird. Sie setzen ihn stattdessen bis zu 100 Mal neu. Ich habe die Logik entsprechend angepasst und außerdem mehrere Debugausgaben eingefügt. Der Patch ist noch mit diversen Anmerkungen vollgekleistert und entspricht nicht mal im Ansatz style(9), aber wir wollen nun erst einmal schauen, ob es funktioniert.

Der Patch: http://deponie.yamagi.org/freebsd/patches/14h_15h_hwpstate_v2.diff

Der Patch ist gegen die unveränderte hwpstate.c. Du müsstest also zuerst ein "svn revert" auf die Datei machen, "csup" erneut laufen lassen oder das von patch(1) angelegte Backup zurückkopieren. Je nach dem...

Es wäre nett, wenn du einmal ohne Debugausgaben schauen könntest, ob es nun funktioniert. Aber egal ob es das tut oder nicht, würde ich gern noch eine dmesg und eine Ausgabe von "powerd -v" mit den beiden Debugoptionen (für cpufreq und hwpstate) sehen. Schon um eventuelle Fehler ausschließen zu können. Auf meinem Phenom II funktioniert es auch mit dem Patch einwandfrei, aber das hat nicht viel zu sagen.

h^2 schrieb:
Das Aktivieren bzw. Deaktivieren von debug veraendert real das Verhalten? o_O
Jo, die Debugausgabe erzeugt CPU-Last und wenn powerd(8) zu empfindlich eingestellt ist - und genau das ist er im Standardprofil - taktet er durch die Debugausgabe sofort wieder hoch, wenn er versucht runterzutakten.
 
Cool, das sieht spannend aus. Ich habe auch einen Bulldozer (FX-8120) und werde das kommende Woche durchtesten mit deinem Patch. Mein Strommessgerät hat leider den Geist aufgegeben, aber nächste Woche sollte das neue da sein.

Ich weiß noch, bei mir ging's von etwa 110-120 Watt auf etwa 75 Watt runter mit dem Verbrauch, seit ich powerd gestartet hatte. Allerdings weiß ich nicht, ob C1E an ist und werde da auch erst mit neuem Strommesser rumspielen (sonst ist's nur raten).
 
Die schlechte Nachricht ist, dass es immer noch nicht tut. :mad: Die gute Nachricht ist, dass es besser geworden ist. :)

Zu den Fakten: Dmesg nach Systemstart mit ACPI und ohne Debug:
Code:
re0: link state changed to UP
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
hwpstate0: set freq failed, err 6
[falken@mcp] ~ $ sysctl dev.cpu.0                                                                                                                               dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.P001
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 175
dev.cpu.0.freq_levels: 3100/15370 2800/12500 2450/10937 2300/8677 2012/7592 1900/5431 1662/4752 1425/4073 1400/3558 1225/3113 1050/2668 875/2223 700/1779 525/1334 350/889 175/444
dev.cpu.0.cx_supported: C1/0 C2/100
dev.cpu.0.cx_lowest: C2
dev.cpu.0.cx_usage: 0.62% 99.37% last 934us
[falken@mcp] ~ $
Es waren also nur noch 4 Fehler für 175MHz. Nachfolgend die Ausgabe von powerd:
Code:
[root@mcp] ~ # powerd -v
powerd: unable to determine AC line status
load   0%, current freq 3100 MHz ( 0), wanted freq 3003 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2909 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2818 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2729 MHz
changing clock speed from 3100 MHz to 2800 MHz
powerd: error setting CPU frequency 2800: Device not configured
load  26%, current freq 3100 MHz ( 0), wanted freq 2729 MHz
changing clock speed from 3100 MHz to 2800 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2643 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2560 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2480 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2402 MHz
changing clock speed from 2800 MHz to 2450 MHz
load   0%, current freq 2450 MHz ( 2), wanted freq 2326 MHz
load   0%, current freq 2450 MHz ( 2), wanted freq 2253 MHz
changing clock speed from 2450 MHz to 2300 MHz
powerd: error setting CPU frequency 2300: Device not configured
load  19%, current freq 2450 MHz ( 2), wanted freq 2182 MHz
changing clock speed from 2450 MHz to 2300 MHz
load   0%, current freq 2300 MHz ( 3), wanted freq 2113 MHz
load   0%, current freq 2300 MHz ( 3), wanted freq 2046 MHz
load   0%, current freq 2300 MHz ( 3), wanted freq 1982 MHz
changing clock speed from 2300 MHz to 2012 MHz
load   0%, current freq 2012 MHz ( 4), wanted freq 1920 MHz
load   0%, current freq 2012 MHz ( 4), wanted freq 1860 MHz
changing clock speed from 2012 MHz to 1900 MHz
powerd: error setting CPU frequency 1900: Device not configured
load  20%, current freq 2012 MHz ( 4), wanted freq 1801 MHz
changing clock speed from 2012 MHz to 1900 MHz
load   0%, current freq 1900 MHz ( 5), wanted freq 1744 MHz
load   0%, current freq 1900 MHz ( 5), wanted freq 1689 MHz
load   0%, current freq 1900 MHz ( 5), wanted freq 1636 MHz
changing clock speed from 1900 MHz to 1662 MHz
load   0%, current freq 1662 MHz ( 6), wanted freq 1584 MHz
load   0%, current freq 1662 MHz ( 6), wanted freq 1534 MHz
load   0%, current freq 1662 MHz ( 6), wanted freq 1486 MHz
load   0%, current freq 1662 MHz ( 6), wanted freq 1439 MHz
load   0%, current freq 1662 MHz ( 6), wanted freq 1394 MHz
changing clock speed from 1662 MHz to 1400 MHz
powerd: error setting CPU frequency 1400: Device not configured
load  24%, current freq 1662 MHz ( 6), wanted freq 1350 MHz
changing clock speed from 1662 MHz to 1400 MHz
load   0%, current freq 1400 MHz ( 8), wanted freq 1307 MHz
load   0%, current freq 1400 MHz ( 8), wanted freq 1266 MHz
load   0%, current freq 1400 MHz ( 8), wanted freq 1226 MHz
load   0%, current freq 1400 MHz ( 8), wanted freq 1187 MHz
changing clock speed from 1400 MHz to 1225 MHz
load   0%, current freq 1225 MHz ( 9), wanted freq 1149 MHz
load   0%, current freq 1225 MHz ( 9), wanted freq 1113 MHz
load   0%, current freq 1225 MHz ( 9), wanted freq 1078 MHz
load   0%, current freq 1225 MHz ( 9), wanted freq 1044 MHz
changing clock speed from 1225 MHz to 1050 MHz
load   0%, current freq 1050 MHz (10), wanted freq 1011 MHz
load   0%, current freq 1050 MHz (10), wanted freq  979 MHz
load   0%, current freq 1050 MHz (10), wanted freq  948 MHz
load   0%, current freq 1050 MHz (10), wanted freq  918 MHz
load   0%, current freq 1050 MHz (10), wanted freq  889 MHz
load   0%, current freq 1050 MHz (10), wanted freq  861 MHz
changing clock speed from 1050 MHz to 875 MHz
load   0%, current freq  875 MHz (11), wanted freq  834 MHz
load   0%, current freq  875 MHz (11), wanted freq  807 MHz
load   0%, current freq  875 MHz (11), wanted freq  781 MHz
load   0%, current freq  875 MHz (11), wanted freq  756 MHz
load   0%, current freq  875 MHz (11), wanted freq  732 MHz
load   0%, current freq  875 MHz (11), wanted freq  709 MHz
load   0%, current freq  875 MHz (11), wanted freq  686 MHz
changing clock speed from 875 MHz to 700 MHz
load   4%, current freq  700 MHz (12), wanted freq  664 MHz
load   0%, current freq  700 MHz (12), wanted freq  643 MHz
load   0%, current freq  700 MHz (12), wanted freq  622 MHz
load   0%, current freq  700 MHz (12), wanted freq  602 MHz
load   0%, current freq  700 MHz (12), wanted freq  583 MHz
load   0%, current freq  700 MHz (12), wanted freq  564 MHz
load   0%, current freq  700 MHz (12), wanted freq  546 MHz
load   0%, current freq  700 MHz (12), wanted freq  528 MHz
load   0%, current freq  700 MHz (12), wanted freq  511 MHz
changing clock speed from 700 MHz to 525 MHz
load   0%, current freq  525 MHz (13), wanted freq  495 MHz
load   0%, current freq  525 MHz (13), wanted freq  479 MHz
load   0%, current freq  525 MHz (13), wanted freq  464 MHz
load   0%, current freq  525 MHz (13), wanted freq  449 MHz
load   0%, current freq  525 MHz (13), wanted freq  434 MHz
load   0%, current freq  525 MHz (13), wanted freq  420 MHz
load   0%, current freq  525 MHz (13), wanted freq  406 MHz
load   0%, current freq  525 MHz (13), wanted freq  393 MHz
load   0%, current freq  525 MHz (13), wanted freq  380 MHz
load   0%, current freq  525 MHz (13), wanted freq  368 MHz
load   0%, current freq  525 MHz (13), wanted freq  356 MHz
load   0%, current freq  525 MHz (13), wanted freq  344 MHz
changing clock speed from 525 MHz to 350 MHz
load   0%, current freq  350 MHz (14), wanted freq  333 MHz
load   0%, current freq  350 MHz (14), wanted freq  322 MHz
load   0%, current freq  350 MHz (14), wanted freq  311 MHz
load   0%, current freq  350 MHz (14), wanted freq  301 MHz
load   0%, current freq  350 MHz (14), wanted freq  291 MHz
load   0%, current freq  350 MHz (14), wanted freq  281 MHz
load   0%, current freq  350 MHz (14), wanted freq  272 MHz
load   0%, current freq  350 MHz (14), wanted freq  263 MHz
load   0%, current freq  350 MHz (14), wanted freq  254 MHz
load   0%, current freq  350 MHz (14), wanted freq  246 MHz
load   0%, current freq  350 MHz (14), wanted freq  238 MHz
load   0%, current freq  350 MHz (14), wanted freq  230 MHz
load   0%, current freq  350 MHz (14), wanted freq  222 MHz
load   0%, current freq  350 MHz (14), wanted freq  215 MHz
load   0%, current freq  350 MHz (14), wanted freq  208 MHz
load   0%, current freq  350 MHz (14), wanted freq  201 MHz
load   0%, current freq  350 MHz (14), wanted freq  194 MHz
load   4%, current freq  350 MHz (14), wanted freq  187 MHz
load   0%, current freq  350 MHz (14), wanted freq  181 MHz
load   0%, current freq  350 MHz (14), wanted freq  175 MHz
changing clock speed from 350 MHz to 175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   4%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   4%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
load   0%, current freq  175 MHz (15), wanted freq  175 MHz
^Ctotal joules used: 93.074
[root@mcp] ~ #
Im Dmesg sind derweil 5 Fehlermeldungen dazu gekommen.
 
Interessanter Weise startet der Powerd mit Debug bei der doppelten Frequenz. Ist das gewollt?
Code:
[root@mcp] ~ # powerd -v
powerd: unable to determine AC line status
load 186%, current freq 3100 MHz ( 0), wanted freq 6200 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 6006 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5818 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5636 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5459 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5288 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5122 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4961 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4805 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4654 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4508 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4367 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4230 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4097 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3968 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3844 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3723 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3606 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3493 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3383 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3277 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3174 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3074 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2977 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2883 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2792 MHz
changing clock speed from 3100 MHz to 2800 MHz
powerd: error setting CPU frequency 2800: Device not configured
load 115%, current freq 3100 MHz ( 0), wanted freq 6200 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 6006 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5818 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5636 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5459 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5288 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5122 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4961 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4805 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4654 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4508 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4367 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4230 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 4097 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3968 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3844 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3723 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3606 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3493 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3383 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3277 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3174 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 3074 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2977 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2883 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2792 MHz
changing clock speed from 3100 MHz to 2800 MHz
load 161%, current freq 2800 MHz ( 1), wanted freq 6200 MHz
changing clock speed from 2800 MHz to 3100 MHz
load  99%, current freq 3100 MHz ( 0), wanted freq 6200 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 6006 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5818 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5636 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5459 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5288 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 5122 MHz
^Ctotal joules used: 229.803
[root@mcp] ~ #
Und hier die dmesg-Ausgabe:
Code:
[root@mcp] ~ # dmesg 
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: skipping freq 3100, same as current level 3100
cpufreq: get returning known freq 3100
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: setting abs freq 2800 on hwpstate0 (cpu 0)
hwpstate0: LIMIT: 0, ID: 1
hwpstate0: setting P1-state on cpu0
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu1
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu2
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu3
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu4
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu5
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu6
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu7
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
cpufreq: setting rel freq 10000 on acpi_throttle0 (cpu 0)
cpufreq: get returning known freq 2800
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: setting abs freq 3100 on hwpstate0 (cpu 0)
hwpstate0: LIMIT: 0, ID: 0
hwpstate0: setting P0-state on cpu0
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu1
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu2
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu3
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu4
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu5
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu6
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu7
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
cpufreq: setting rel freq 10000 on acpi_throttle0 (cpu 0)
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: skipping freq 3100, same as current level 3100
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: setting abs freq 2800 on hwpstate0 (cpu 0)
hwpstate0: LIMIT: 0, ID: 1
hwpstate0: setting P1-state on cpu0
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: Setting failed!
hwpstate0: Iterationen: 102
hwpstate0: setting P1-state on cpu1
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu2
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: Setting failed!
hwpstate0: Iterationen: 102
hwpstate0: setting P1-state on cpu3
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu4
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: Setting failed!
hwpstate0: Iterationen: 102
hwpstate0: setting P1-state on cpu5
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu6
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: MSR: 0 ID: 1
hwpstate0: Setting failed!
hwpstate0: Iterationen: 102
hwpstate0: setting P1-state on cpu7
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: set freq failed, err 6
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: setting abs freq 2800 on hwpstate0 (cpu 0)
hwpstate0: LIMIT: 0, ID: 1
hwpstate0: setting P1-state on cpu0
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu1
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu2
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu3
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu4
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu5
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu6
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu7
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
cpufreq: setting rel freq 10000 on acpi_throttle0 (cpu 0)
cpufreq: get returning known freq 2800
cpufreq: get returning known freq 2800
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: setting abs freq 3100 on hwpstate0 (cpu 0)
hwpstate0: LIMIT: 0, ID: 0
hwpstate0: setting P0-state on cpu0
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu1
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu2
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu3
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu4
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu5
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu6
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
hwpstate0: setting P0-state on cpu7
hwpstate0: MSR: 0 ID: 0
hwpstate0: Iterationen: 1
cpufreq: setting rel freq 10000 on acpi_throttle0 (cpu 0)
cpufreq: get returning known freq 3100
cpufreq: get returning known freq 3100
cpufreq: adding 8 relative settings
cpufreq: skipping info-only driver acpi_perf0
cpufreq: adding abs setting 3100 at head
cpufreq: adding abs setting 2800 after 3100
cpufreq: adding abs setting 2300 after 2800
cpufreq: adding abs setting 1900 after 2300
cpufreq: adding abs setting 1400 after 1900
cpufreq: expand set added rel setting 100% to 1400 level
cpufreq: dup set considering derived setting 1225
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1225 after 1400
cpufreq: expand set added rel setting 87% to 1225 level
cpufreq: dup set considering derived setting 1050
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1050 after 1225
cpufreq: expand set added rel setting 75% to 1050 level
cpufreq: dup set considering derived setting 875
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 875 after 1050
cpufreq: expand set added rel setting 62% to 875 level
cpufreq: dup set considering derived setting 700
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 700 after 875
cpufreq: expand set added rel setting 50% to 700 level
cpufreq: dup set considering derived setting 525
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 525 after 700
cpufreq: expand set added rel setting 37% to 525 level
cpufreq: dup set considering derived setting 350
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 350 after 525
cpufreq: expand set added rel setting 25% to 350 level
cpufreq: dup set considering derived setting 175
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 175 after 350
cpufreq: expand set added rel setting 12% to 175 level
cpufreq: expand set added rel setting 100% to 1900 level
cpufreq: dup set considering derived setting 1662
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1662 after 1900
cpufreq: expand set added rel setting 87% to 1662 level
cpufreq: dup set considering derived setting 1425
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 1425 after 1662
cpufreq: expand set added rel setting 75% to 1425 level
cpufreq: dup set considering derived setting 1187
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1187 (abs too big)
cpufreq: dup set freeing new level 1187 (not optimal)
cpufreq: expand set added rel setting 100% to 2300 level
cpufreq: dup set considering derived setting 2012
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2012 after 2300
cpufreq: expand set added rel setting 87% to 2012 level
cpufreq: dup set considering derived setting 1725
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 1725 (abs too big)
cpufreq: dup set freeing new level 1725 (not optimal)
cpufreq: expand set added rel setting 100% to 2800 level
cpufreq: dup set considering derived setting 2450
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup done, inserting new level 2450 after 2800
cpufreq: expand set added rel setting 87% to 2450 level
cpufreq: dup set considering derived setting 2100
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2100 (abs too big)
cpufreq: dup set freeing new level 2100 (not optimal)
cpufreq: expand set added rel setting 100% to 3100 level
cpufreq: dup set considering derived setting 2712
cpufreq: removed last relative driver: acpi_throttle0
cpufreq: dup set rejecting 2712 (abs too big)
cpufreq: dup set freeing new level 2712 (not optimal)
cpufreq: skipping freq 3100, same as current level 3100
[root@mcp] ~ #
 
jmt schrieb:
Interessanter Weise startet der Powerd mit Debug bei der doppelten Frequenz. Ist das gewollt?
Ja, das scheint korrekt zu sein. Das macht er sowohl auf meinem Core i7, als auch auf dem Phenom ebenfalls so. Darin würde ich nun erst einmal kein Problem sehen.

Code:
hwpstate0: MSR: 0 ID: 1
hwpstate0: Setting failed!
hwpstate0: Iterationen: 102
hwpstate0: setting P1-state on cpu1
hwpstate0: MSR: 1 ID: 1
hwpstate0: Iterationen: 1
hwpstate0: setting P1-state on cpu2
hwpstate0: MSR: 0 ID: 1

Hier sieht man gut, was nun noch verkehrt läuft. Er versucht 102 Mal die neue Frequenz zu setzen, da es nicht klappt, bricht er ab. Als er es kurz darauf allerdings wieder probiert, klappt es dann auf einmal auf magische Weise. Die große Frage ist nun: WARUM? Vom Gefühl her würde ich sagen, dass man den P-State des Bulldozer in gewissen Zuständen einfach nicht wechseln kann. Jedoch ist mir unklar, wann das auftritt.

Es gibt nun 2 Möglichkeiten:
1) Die Abbruchbedingung unter "if (y++ > 100)" entweder rausnehmen, oder statt 100 es mit noch mal drastisch höheren Werten probieren. Ich fände es aber gar nicht gut, da ein Rausnehmen zur Endlossschleife führen kann (das System friert ein oder man bekommt einen schönen Live-Lock, bei dem das System teilweise einfriert) und ein deutliches verlängern sicher Performanceeinbußen mit sich bringt.
2) Den hwpstate(4) so umbasteln, dass er wie der Linuxtreiber nicht einfach einen P-State reinwirft, stattdessen eine "Frequency-ID" und eine "Voltage-ID" ausrechnet und getrennt setzt. Das hätte den Vorteil, dass man sicher noch einige Milliwatt mehr rausgequetscht bekommt, verlangt aber umfangreichere Änderungen am Code als ich blind hinbekommen kann.

Daher wäre mein Vorschlag, dass ich unsere Erkenntnisse, den Patch und deine Log (sofern du einverstanden bist) zu einen Mailinglist-Post zusammenfasse und an freebsd-stable@ schicke. Mit ein wenig Glück weiß einer der ursprünglichen Autoren des Treibers, woran es klemmt. Außerdem werde ich das Wochenende über noch einmal nachdenken, ob mir nicht noch etwas einfällt. Bis Sonntag Abend komme ich sowieso nicht an meinem Phenom ran und kann daher nichts machen. Auf beiden Augen blind zu coden geht im Kernel fast immer schief. :)
 
Zuletzt bearbeitet:
Sehr gutes Vorgehen. Meine Logs kannst Du natürlich verwenden. Noch eine Interessante Sache nebenbei: Wenn ich den Rechner mit Deinem Patch betreibe, dann braucht er 7-8 Watt mehr im Idle als in der Originalfassung. Dabei meine ich eine Idle-Time im Stundenbereich (Keine Ahnung, ab wann das genau zutrifft).
 
Die Mail ist raus. Sollte in einige Minuten im Web-Archiv auftauchen. Mal schauen, was dabei rauskommt... :)

Der Mehrverbrauch kann schon daher kommen, dass wir durch die Debugausgabe und das deutlich häufigere Setzen des neuen P-State den Mechanismus unterlaufen.
 
So, es hat sich nun folgendes ergeben: Wenn man auf einem alten K10 Phenom den P-State setzt, wird er sofort übernommen und im Status-Register wiedergegeben. Ein Bulldozer hat jedoch diese "Computation Units" aka "Module", die jeweils zwei Threads bereitstellen. Das Betriebssystem sieht in den Threads normale Kerne. Wenn man den P-State für einen dieser Kerne setzt, wird er erst im Status-Register wiedergegeben, wenn beide Kerne des Moduls umgeschaltet haben. Und das kann einige Zeit dauern. Andriy Gabon schlägt nun vor, einfach die Überprüfung in den Zeilen 187 bis 202 der ungepatchen hwpstate.c zu entfernen. Das sollte sicher sein, da die CPU in jedem Fall früher oder später in den neuen P-State wechselt. Jung-uk Kim meint hingegen, dass wir erst einmal probieren sollten, ein anderes Register auszulesen, was den gesetzten aber noch nicht übernommenen P-State angibt. Wenn es funktioniert, ist es gut. Wenn nicht, können wir noch immer die Prüfung einfach entfernen. Ich werde diese Lösung Anfang nächster Woche implementieren und einen neuen Patch liefern.
 
Ich habe die Diskussion auch verfolgt und eine neuen Patch gebaut. Dabei setze ich erst alle P-States und überprüfe danach, ob der P-State erreicht wurde. Das funktioniert ohne Fehlermeldungen. :)

powerd -v
Code:
[root@mcp] / # powerd -v
powerd: unable to determine AC line status
load   0%, current freq 3100 MHz ( 0), wanted freq 3003 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2909 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2818 MHz
load   0%, current freq 3100 MHz ( 0), wanted freq 2729 MHz
changing clock speed from 3100 MHz to 2800 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2643 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2560 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2480 MHz
load   0%, current freq 2800 MHz ( 1), wanted freq 2402 MHz
changing clock speed from 2800 MHz to 2450 MHz
load   0%, current freq 2450 MHz ( 2), wanted freq 2326 MHz
load   0%, current freq 2450 MHz ( 2), wanted freq 2253 MHz
changing clock speed from 2450 MHz to 2300 MHz
load   0%, current freq 2300 MHz ( 3), wanted freq 2182 MHz
load   0%, current freq 2300 MHz ( 3), wanted freq 2113 MHz
load   0%, current freq 2300 MHz ( 3), wanted freq 2046 MHz
load   0%, current freq 2300 MHz ( 3), wanted freq 1982 MHz
changing clock speed from 2300 MHz to 2012 MHz
load   0%, current freq 2012 MHz ( 4), wanted freq 1920 MHz
load   4%, current freq 2012 MHz ( 4), wanted freq 1860 MHz
changing clock speed from 2012 MHz to 1900 MHz
load   0%, current freq 1900 MHz ( 5), wanted freq 1801 MHz
load   0%, current freq 1900 MHz ( 5), wanted freq 1744 MHz
load   0%, current freq 1900 MHz ( 5), wanted freq 1689 MHz
load   0%, current freq 1900 MHz ( 5), wanted freq 1636 MHz
changing clock speed from 1900 MHz to 1662 MHz
load   0%, current freq 1662 MHz ( 6), wanted freq 1584 MHz
^Ctotal joules used: 52.424

Dmesg hat keine Ausgabe :D
 
hwpstate-Debug gibt nun folgendes aus:
Code:
hwpstate0: LIMIT: 0, ID: 1
hwpstate0: setting P1-state on cpu0
hwpstate0: setting P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: setting P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: setting P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: setting P1-state on cpu7
hwpstate0: LIMIT: 0, ID: 0
hwpstate0: setting P0-state on cpu0
hwpstate0: setting P0-state on cpu1
hwpstate0: setting P0-state on cpu2
hwpstate0: setting P0-state on cpu3
hwpstate0: setting P0-state on cpu4
hwpstate0: setting P0-state on cpu5
hwpstate0: setting P0-state on cpu6
hwpstate0: setting P0-state on cpu7
hwpstate0: LIMIT: 0, ID: 1
hwpstate0: setting P1-state on cpu0
hwpstate0: setting P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: setting P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: setting P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: setting P1-state on cpu7
hwpstate0: LIMIT: 0, ID: 0
hwpstate0: setting P0-state on cpu0
hwpstate0: setting P0-state on cpu1
hwpstate0: setting P0-state on cpu2
hwpstate0: setting P0-state on cpu3
hwpstate0: setting P0-state on cpu4
hwpstate0: setting P0-state on cpu5
hwpstate0: setting P0-state on cpu6
hwpstate0: setting P0-state on cpu7
hwpstate0: LIMIT: 0, ID: 1
hwpstate0: setting P1-state on cpu0
hwpstate0: setting P1-state on cpu1
hwpstate0: setting P1-state on cpu2
hwpstate0: setting P1-state on cpu3
hwpstate0: setting P1-state on cpu4
hwpstate0: setting P1-state on cpu5
hwpstate0: setting P1-state on cpu6
hwpstate0: setting P1-state on cpu7

usw.
Allerdings schaltet er auch nicht mehr.

Hier mal ein Versuch mit diff -u
Code:
--- hwpstate.c  2011-09-23 02:51:37.000000000 +0200
+++ hwpstate.c.new      2012-05-26 09:00:50.879974650 +0200
@@ -68,16 +68,22 @@
 #include "acpi_if.h"
 #include "cpufreq_if.h"

-#define        MSR_AMD_10H_11H_LIMIT   0xc0010061
-#define        MSR_AMD_10H_11H_CONTROL 0xc0010062
-#define        MSR_AMD_10H_11H_STATUS  0xc0010063
-#define        MSR_AMD_10H_11H_CONFIG  0xc0010064
+#define        MSR_AMD_10H_11H_LIMIT   0xc0010061 // Aktuell maximal moeglicher P-State
+#define        MSR_AMD_10H_11H_CONTROL 0xc0010062 // Control-Register
+#define        MSR_AMD_10H_11H_STATUS  0xc0010063 // Status-Register
+#define        MSR_AMD_10H_11H_CONFIG  0xc0010064 // Basisadresse

-#define        AMD_10H_11H_MAX_STATES  16
+#define        AMD_10H_11H_MAX_STATES  16 // K10 == 6 ; K15 == 7

 /* for MSR_AMD_10H_11H_LIMIT C001_0061 */
+
+// Zwei Tabellen:
+// LOW -> 0 - 7
+// HIGH -> 8 - 16
+
 #define        AMD_10H_11H_GET_PSTATE_MAX_VAL(msr)     (((msr) >> 4) & 0x7)
-#define        AMD_10H_11H_GET_PSTATE_LIMIT(msr)       (((msr)) & 0x7)
+#define        AMD_10H_11H_GET_PSTATE_LIMIT(msr)       (((msr)) & 0x7) // Gleich zu Linux HW_PSTATE_MASK
+
 /* for MSR_AMD_10H_11H_CONFIG 10h:C001_0064:68 / 11h:C001_0064:6B */
 #define        AMD_10H_11H_CUR_VID(msr)                (((msr) >> 9) & 0x7F)
 #define        AMD_10H_11H_CUR_DID(msr)                (((msr) >> 6) & 0x07)
@@ -159,31 +165,92 @@
 {
        int i;
        uint64_t msr;
-       int j;
+       // int j;
        int limit;
        int id = pstate;
        int error;
+       int y = 0;

        /* get the current pstate limit */
+
+       // Linux liest hier MSR_AMD_10H_11H_STATUS
        msr = rdmsr(MSR_AMD_10H_11H_LIMIT);
-       limit = AMD_10H_11H_GET_PSTATE_LIMIT(msr);
+
+       //msr = rdmsr(MSR_AMD_10H_11H_STATUS);
+       limit = AMD_10H_11H_GET_PSTATE_LIMIT(msr); // Macht Linux genauso
+
+       HWPSTATE_DEBUG(dev, "LIMIT: %d, ID: %d\n", limit, id);
+
+       // Prueft, ob wir nicht einen
+       // unzulaessig tiefen P-State
+       // setzen wollen
        if(limit > id)
+       {
                id = limit;
+               HWPSTATE_DEBUG(dev, "LIMIT HIT!\n");
+       }

        /*
         * We are going to the same Px-state on all cpus.
         * Probably should take _PSD into account.
         */
        error = 0;
-       CPU_FOREACH(i) {
-               /* Bind to each cpu. */
-               thread_lock(curthread);
-               sched_bind(curthread, i);
-               thread_unlock(curthread);
-               HWPSTATE_DEBUG(dev, "setting P%d-state on cpu%d\n",
-                       id, PCPU_GET(cpuid));
+
+       // Iteriert ueber alle CPUs, hinterher sollten
+       // daher alle Kerne den gleichen P-State haben.
+       // Das ist nicht optimal und sollten wir aendern.
+       //
+       // FRAGE:
+       // Wieso zeigt die Managementkarte unterschiedliche
+       // P-States an? Zu langsam oder ist der Code buggy?
+       do {
+               error = 0;
+               // P-State setzen
+               CPU_FOREACH(i) {
+                       /* Bind to each cpu. */
+
+                       // Neuer Aufruf hebt die aktuelle
+                       // Bindung auf!
+                       thread_lock(curthread);
+                       sched_bind(curthread, i);
+                       thread_unlock(curthread);
+
+                       // Wo wollen wir hin?
+                       HWPSTATE_DEBUG(dev, "setting P%d-state on cpu%d\n", id, PCPU_GET(cpuid));
+                       wrmsr(MSR_AMD_10H_11H_CONTROL, id);
+               }
+               // Ich warte hier mal etwas laenger, da ich ja ersteinmal alle CPUs gesetzt habe.
+               DELAY(200);
+
+               CPU_FOREACH(i) {
+                       /* Bind to each cpu. */
+
+                       // Neuer Aufruf hebt die aktuelle
+                       // Bindung auf!
+                       thread_lock(curthread);
+                       sched_bind(curthread, i);
+                       thread_unlock(curthread);
+
+                       // Neu auslesen
+                       msr = rdmsr(MSR_AMD_10H_11H_STATUS);
+
+                       if ( msr != id ) error = ENXIO;
+               }
+
+               // Den ganzen Spass probieren wir 100 Mal
+               if (y++ > 100 && error == ENXIO)
+               {
+                       HWPSTATE_DEBUG(dev, "Setting failed!\n");
+                       break;
+               }
+
+
+       } while(error==ENXIO);
+
+#if 0
                /* Go To Px-state */
                wrmsr(MSR_AMD_10H_11H_CONTROL, id);
+
                /* wait loop (100*100 usec is enough ?) */
                for(j = 0; j < 100; j++){
                        msr = rdmsr(MSR_AMD_10H_11H_STATUS);
@@ -201,9 +268,15 @@
                        error = ENXIO;
                }
        }
+#endif
+
+

+       // Unbind
        thread_lock(curthread);
        sched_unbind(curthread);
        thread_unlock(curthread);
+
+       // Zurueck
        return (error);
 }
 
Noch eine kleine Anmerkung:

Der "ugly hack" von Gen O. tut es allein noch nicht. Aber das schrieb er ja auch. :)
Code:
--- hwpstate.c.orig     2012-05-26 15:06:06.000000000 +0900
+++ hwpstate.c  2012-05-26 15:07:50.000000000 +0900
@@ -196,7 +196,7 @@
                msr = rdmsr(MSR_AMD_10H_11H_STATUS);
                HWPSTATE_DEBUG(dev, "result  P%d-state on cpu%d\n",
                    (int)msr, PCPU_GET(cpuid));
-               if (msr != id) {
+               if (msr != id && msr != 0) {
                        HWPSTATE_DEBUG(dev, "error: loop is not enough.\n");
                        error = ENXIO;
                }
 
So, mittlerweile habe ich einen zusätzlichen Stromfresser ausgemacht. Die 6-8 Watt Differenz bei den Patchen (Zeitweilig sogar 10) kommen durch folgenden Eintrag in der loader.conf:
Code:
hint.acpi_throttle.0.disabled="1"
Mit abgeschalteten ACPI liegt der IDLE-Verbrauch bei 68-70W und in der "normalen" Einstellung mit ACPi bei 75-80W. Irgendwie kann das ja auch nicht im Sinne des Erfinders sein?:confused:
 
Guten Morgen :)

Das ACPI-Throtteling negativ ist, ist bekannt. Mir ist allerdings nicht ganz klar, woran es liegt. Es gab vor längerer Zeit auch schon mal eine Debatte, ab man die Standardeinstellung nicht besser auf "aus" ändern sollte. In die gleiche Richtung geht übrigens auch "P4TCC". Es sollte zwar auf AMD-CPUs nicht greifen, aber du kannst natürlich trotzdem probieren es abzuschalten:
Code:
hint.p4tcc.X.disabled=1
Wobei du eine Zeile für jede CPU brauchst, und X durch die Nummer der CPU ersetzt.

Auch powerd hat selbst noch Einsparpotential. Das Standardprofile "Highly Adaptive" ist sehr nervös. Es taktet bereits bei geringer CPU-Last sehr aggressiv hoch und bei abfallender CPU-Last nur langsam wieder herunter. In den meisten Fällen ist das konservativere "Adaptive"-Profil die bessere Wahl. Damit taktet die CPU langsamer hoch und schneller runter, was auf Desktops kaum merkliche Nachteile hat.
 
Zu den Patches: Ich habe nun noch einmal ein wenig im Developer Guide gelesen. Es gibt Argumente für beide präsentierte Ansätze. Für Andriy Gabons Patch spricht, dass er sehr einfach ist und funktionioniert. Für Jung-uk Kim Patch spricht wiederum, dass er ohne ein DELAY() auskommt und insgesamt korrekter erscheint. Allerdings verlangt er eine vergleichsweise komplizierte Logik, um CPUs mit Hardware P-States (wie Bulldozer) von älteren CPUs ohne Hardware P-State zu unterscheiden.
 
Und ein dritter Post. Wir müssen ja den Post-Count hochtreiben... Könntest du bitte noch einmal Andriys Patch ausprobieren? Das ist genau das gleiche, was du in deinem Patch machst und sollte daher auch funktionieren, aber ich würde gern zu 100% sicher gehen. Falls du die Mail nicht bekommen hast (ich sehe sie irgendwie nicht im Archiv), ist er hier:
Code:
diff --git a/sys/x86/cpufreq/hwpstate.c b/sys/x86/cpufreq/hwpstate.c
index 40e1943..9c17a41 100644
--- a/sys/x86/cpufreq/hwpstate.c
+++ b/sys/x86/cpufreq/hwpstate.c
@@ -186,16 +186,21 @@ hwpstate_goto_pstate(device_t dev, int pstate)
 			id, PCPU_GET(cpuid));
 		/* Go To Px-state */
 		wrmsr(MSR_AMD_10H_11H_CONTROL, id);
+	}
+	CPU_FOREACH(i) {
+		/* Bind to each cpu. */
+		thread_lock(curthread);
+		sched_bind(curthread, i);
+		thread_unlock(curthread);
 		/* wait loop (100*100 usec is enough ?) */
 		for(j = 0; j < 100; j++){
+			/* get the result. not assure msr=id */
 			msr = rdmsr(MSR_AMD_10H_11H_STATUS);
 			if(msr == id){
 				break;
 			}
 			DELAY(100);
 		}
-		/* get the result. not assure msr=id */
-		msr = rdmsr(MSR_AMD_10H_11H_STATUS);
 		HWPSTATE_DEBUG(dev, "result  P%d-state on cpu%d\n",
 		    (int)msr, PCPU_GET(cpuid));
 		if (msr != id) {
Wenn er funktioniert, würde ich schreiben, dass er die bessere Lösung ist, da er nur eine triviale Änderung darstellt und ihe viel weitere Logik auskommt.
 
Habe den Patch eingespielt und er funktioniert. Wenn ich das richtig verstehe, dann werden aber alle Kerne gleich getaktet. Das ist natürlich nicht optimal, aber wahrscheinlich eine viel größere Änderung.
 
Okay, dann nochmal danke. Ich werde heute Abend noch einen Testlauf auf meinem Phenom II machen und dann die nächste E-Mail schreiben. Das mit den unterschiedlichen Taktraten ist so eine Sache. Es gibt diese Managementkarten, die man in einem PCI-Slot steckt, dann interne Register auslesen und auf einer schlechten LED-Anzeige darstellen. Wir hatten für die Firma mal eine gekauft, da wir recht viel AMD verbauten und hofften, damit Probleme schneller diganistizieren zu können. Am Ende war es aber eine Fehlinvestition, auch wenn man sehen konnte, was verkehrt lief, war kaputt dennoch meist kaputt. Diese Karte zeigte unter FreeBSD unterschiedliche P-States für die Kerne an, dem Code nach wurden aber noch nie unterschiedliche P-State gesetzt! Mein Tipp ist, dass die Schleife zum Prüfen nach dem Setzen eines P-States die Karte verwirrt hat. Kern 1 war z.B. schon P2, Kern 1 aber noch P1 und so weiter, durch geringe Ausleseintervalle blieb es denn für einige Zeit so angezeigt. Ich teste nachher mal, was sie mit dem Patch, der ja erst alle Kerne setzt und dann prüft, anzeigt. Ich stimme dir zu, dass Setzen unterschiedlicher P-States für einzelne Kerne cool wäre, aber das geben im Moment weder cpufreq noch powerd her.
 
Wäre es denn "einfach" möglich die verschiedenen Frequenzen der Cores als sysctl herauszuführen? Der Nachteil nur einer Frequenz für alle CPUs besteht ja u.a. darin, dass TurboCore nicht richtig greifen kann. Hierbei kommt es auf die gesammte verbrauchte Energie an, bzw. dass möglichst viele Cores schlafen. Das sollte bei Intel ähnlich sein.
 
So, ich habe nun noch einmal an die Mailingliste geschrieben. Wahrscheinlich wird die Diskussion noch weitergehen, aber unser Teil daran ist nun erledigt. :)
 
Zum Turbo: AMDs TurboCore richtete sich nach aktuellen Stromverbrauch. Umso mehr Kerne tief schlafen, umso größer ist die Wirkung. Es wäre daher wünschenswert, wenn man die Kerne einzeln takten könnte, aber leider gibt cpufreq(4) das derzeit einfach nicht her. Und ich bezweifele, dass es so schnell jemand anbauen wird...
 
Ein dickes "Danke" an Yamagi, es funktioniert nun bei mir auch einwandfrei, und ich habe zudem wieder einiges dazugelernt.
 
Zurück
Oben