Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki: raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren Grenzen in Code durchgesetzt sind statt im Prompt. Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44 Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist. Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs. Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte. Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet - siehe NOTICE.
6.7 KiB
type, tags, created, entities, summary
| type | tags | created | entities | summary | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| types/comparison.md |
|
2026-07-31 |
|
Vergleich zweier AMD-CPU-Power-Management-Treiber: CPPC-basiertes amd-pstate gegenüber ACPI-basiertem acpi-cpufreq. |
Comparison: amd-pstate vs acpi-cpufreq
Überblick
Dieser Vergleich untersucht zwei Linux-Kernel-CPU-Energieverwaltungstreiber für AMD-Prozessoren: amd-pstate (der neuere CPPC-basierte Treiber) und acpi-cpufreq (der traditionelle ACPI-basierte Treiber). Der Vergleich konzentriert sich auf ihre Funktionen, Leistungsmerkmale und Anwendungsfälle, um zu bestimmen, welcher Treiber für verschiedene Szenarien geeignet ist.
Vergleichstabelle
| Kriterium | amd-pstate | acpi-cpufreq |
|---|---|---|
| Einführung | Linux Kernel 5.17 (2022) | Etablierter ACPI-Treiber |
| Hardware-Unterstützung | AMD-CPUs mit CPPC (neuere Generationen, Zen2, Zen3) | Alle AMD-CPUs via ACPI |
| Energieverwaltungs-Schnittstelle | CPPC (Collaborative Processor Performance Control) | ACPI (Advanced Configuration and Power Interface) |
| Granularität | Fein-körnig, kontinuierlicher Bereich | 3 diskrete P-States (0, 1, 2) |
| Feedback-Mechanismus | Hardware bietet Ziele und Hinweise | Statische ACPI-Tabellen |
| Governor-Unterstützung | schedutil, ondemand (mit CPPC-Bewusstsein) | schedutil, ondemand, conservative, powersave, performance |
| Energieeffizienz | Überlegen - optimiert für Workload | Standard - generischer Ansatz |
| Mobiles Batterielebensdauer | Erweitert - bessere Energieverwaltung | Standard |
| Leistungstuning | Präzise, adaptiv | Grob, begrenzt |
| Fallback-Verhalten | Fällt auf acpi-cpufreq bei inkompatibel Hardware zurück | N/A |
| Schnittstelle | sysfs | sysfs |
| Kernel-Integration | Benötigt 5.17+ | Unterstützt in allen Kerneln |
Analyse
Energieverwaltungs-Ansatz
amd-pstate implementiert einen kooperativen Ansatz über CPPC:
- CPU-Hardware bietet Leistungsziele (optimale Betriebspunkte)
- Hardware bietet Hinweise über effiziente Leistungsstatus
- Governoren bewerten diese Ziele und Hinweise neben traditionellen Last-Metriken
- Aktiviert Echtzeit-Anpassung an Workload-Merkmale
acpi-cpufreq verwendet einen traditionellen Ansatz:
- Liest statische P-States aus ACPI-Tabellen
- Nur 3 Zustände verfügbar für AMD: Vollständig, Zwischenstation, Niedrigste
- Governoren wählen aus diesen diskreten Zuständen basierend auf Systemlast
- Grob-körnige Steuerung mit begrenztem Optimierungspotential
Leistungsmerkmale
| Aspekt | amd-pstate | acpi-cpufreq |
|---|---|---|
| Reaktionsfähigkeit | Hoch - schnelle Anpassung an Laständerungen | Mittel - Zustandsübergänge dauern länger |
| Stromverbrauch | Niedriger - optimiert für Effizienz | Höher - weniger optimiert |
| Wärmeabgabe | Niedriger - bessere Wärmeverwaltung | Höher - weniger effizient |
| Batterie-Auswirkung (Mobil) | Positiv - verlängert Batterielebensdauer | Neutral - standard Entladung |
| Benchmark-Leistung | Vergleichbar - behält Leistung | Vergleichbar - behält Leistung |
Anwendungsfälle
amd-pstate ist ideal für:
- Moderne AMD-Systeme (Zen2, Zen3, neuere) mit CPPC-Unterstützung
- Mobile Geräte, bei denen Batterielebensdauer kritisch ist
- Stromempfindliche Umgebungen (Laptops, Eingebettete Systeme)
- Mixed-Workload-Szenarien, die adaptive Energieverwaltung benötigen
- Benutzer, die optimale Energieeffizienz anstreben ohne Leistungseinbuße
acpi-cpufreq ist geeignet für:
- Ältere AMD-Systeme ohne CPPC-Unterstützung
- Legacy-Hardware-Kompatibilität
- Stabile, bewährte Verhaltensweise Präferenz
- Fallback-Szenario, wenn amd-pstate nicht geladen wird
- Systeme, auf denen amd-pstate nicht verfügbar ist (Kernel < 5.17)
Governor-Verhalten
Beide Treiber arbeiten mit den gleichen Governoren, aber mit unterschiedlichen Funktionen:
| Governor | amd-pstate | acpi-cpufreq |
|---|---|---|
| schedutil | Verwendet Scheduler-Daten + CPPC-Ziele/Hinweise | Verwendet nur Scheduler-Daten |
| ondemand | Verwendet Last-Daten + CPPC-Ziele/Hinweise | Verwendet nur Last-Daten |
| conservative | Konservativer mit CPPC-Bewusstsein | Standard konservatives Verhalten |
| powersave | Minimale Frequenz | Minimale Frequenz |
| performance | Maximale Frequenz | Maximale Frequenz |
Kompatibilität und Fallback
amd-pstate enthält intelligenten Fallback:
- Versucht, auf AMD-Hardware zu initialisieren
- Prüft auf CPPC-Unterstützung
- Bei Initialisierungsfehlschlag oder inkompatible Hardware: automatischer Fallback zu acpi-cpufreq
- Dies gewährleistet Abwärtskompatibilität und elegante Degradation
acpi-cpufreq hat keinen Fallback-Mechanismus, da es der traditionelle Treiber ist.
Migrationsbedingungen
Für Benutzer, die von acpi-cpufreq zu amd-pstate wechseln möchten:
Vorteile:
- Verbesserte Energieeffizienz
- Verlängerte Batterielebensdauer auf Laptops
- Bessere Wärmeverwaltung
- Responsivere Energieverwaltung
Überlegungen:
- Benötigt Linux Kernel 5.17 oder neuere
- Benötigt AMD-CPU mit CPPC-Unterstützung
- Kann Boot-Parameter oder Konfiguration aktualisieren müssen
- Systemstabilität nach dem Wechsel überwachen
Überprüfung:
# Check current driver
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
# Check available governors
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# Check CPPC support (amd-pstate)
ls /sys/devices/system/cpu/cpu0/cpufreq/cppc_*
Empfehlung
- Für neue Systeme mit unterstützter Hardware: Verwende amd-pstate als Standardwahl. Die verbesserte Energieverwaltung und Energieeffizienzvorteile wiegen alle Migrationsprobleme auf.
- Für ältere Systeme: Weiterhin acpi-cpufreq verwenden oder auf den automatischen Fallback-Mechanismus verlassen.
- Für gemischte Umgebungen: Der automatische Fallback von amd-pstate zu acpi-cpufreq gewährleistet Kompatibilität über vielfältige Hardware hinweg.
Fazit
amd-pstate stellt einen bedeutenden Fortschritt in der CPU-Energieverwaltung für AMD-Prozessoren dar und bietet fein-körnige Steuerung, bessere Effizienz und verbessertes Batterielebensdauer. acpi-cpufreq bleibt ein zuverlässiger Fallback und dient weiterhin älterer Hardware. Die Wahl zwischen ihnen hängt hauptsächlich von Hardware-Unterstützung und Kernel-Version ab, wobei amd-pstate die klare Präferenz für moderne AMD-Systeme ist.
Beziehungen
- compares: amd-pstate
- compares: acpi-cpufreq