Files
chemenu/kb/comparisons/amd-pstate vs acpi-cpufreq.md
T
torben cfe925a76c
CI / verify (push) Successful in 53s
Release / release (push) Successful in 36s
feat: Link-Taxonomie abgeschlossen - Lint hart ab kb_version 4.0.0, outbound: an Type-Spec gebunden, part-of/composition als Inversenpaar (4.1.0, #40)
Files changed:
- CHANGES.md
- VERSION
- instructions/link-taxonomy.md
- instructions/migrations/4.0.0-link-taxonomy.md
- kb/comparisons/amd-pstate vs acpi-cpufreq.md
- kb/concepts/Episodic Memory.md
- kb/concepts/Memory Lifecycle.md
- kb/concepts/Mesh Sync.md
- kb/concepts/Procedural Memory.md
- kb/concepts/Reciprocal Rank Fusion.md
- kb/concepts/Semantic Memory.md
- kb/concepts/Shared vs Private.md
- kb/concepts/Split Threshold.md
- kb/concepts/Stub Threshold.md
- kb/concepts/Supersession.md
- kb/concepts/Typed Relationships.md
- kb/concepts/Vector Search.md
- kb/concepts/Work Coordination.md
- kb/concepts/Working Memory.md
- kb/entities/technologies/Wine-Staging.md
- kb/entities/tools/pascalandy schema.md
- kb/index.md
- kb/log.md
- kb/sources/COLLECTION.md
- tools/CONTRACT.md
- tools/chemenu/commands/lint.py
- tools/chemenu/kb_collections.py
- tools/chemenu/lint_core.py
- tools/chemenu/tests/test_conventions.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_type_resolver.py
- types/comparison.md
- types/comparison.schema.yaml
2026-09-03 06:19:56 +02:00

142 lines
6.8 KiB
Markdown

---
type: types/comparison.md
tags: [kernel, power-management, amd, cpu, driver]
created: 2026-07-31
entities: [amd-pstate, acpi-cpufreq]
summary: "Vergleich zweier AMD-CPU-Power-Management-Treiber: CPPC-basiertes amd-pstate gegen\xFCber ACPI-basiertem acpi-cpufreq."
related:
- compares-with: amd-pstate
- compares-with: 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:**
```bash
# 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.
<!-- wikitool:links -->
## Beziehungen
- **compares-with:** [[amd-pstate]]
- **compares-with:** [[acpi-cpufreq]]
<!-- /wikitool:links -->