Chemenu 2.1.0 - deterministischer Wissenskompiler
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.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# kb/comparisons/ - Collection Contract
|
||||
|
||||
Structured head-to-head evaluations of two or more things that already have pages here. A
|
||||
comparison exists so that neither subject's own page has to argue against the other.
|
||||
|
||||
**Quality goal:** decidability - a reader with a concrete situation should be able to choose.
|
||||
That needs named, checkable dimensions and a stated trade-off; a page that lists differences
|
||||
without saying what they cost has described, not compared.
|
||||
|
||||
Inherits [kb/CONTRACT.md](../CONTRACT.md) - naming, tone, linking, provenance and confidence
|
||||
are defined there and are not restated here.
|
||||
|
||||
## Types offered
|
||||
|
||||
`comparison` (`tools/wikitool types describe comparison`).
|
||||
|
||||
## Naming
|
||||
|
||||
The title reads as a comparison: `Go vs Rust.md`, `Traefik vs nginx.md`. Order the subjects as
|
||||
they are most commonly spoken, not alphabetically.
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Every subject must already have its own page.** A comparison is a view over existing
|
||||
knowledge, not a place to introduce it. Create the entity or concept pages first, then
|
||||
compare them.
|
||||
- Compare on stated, checkable dimensions - a table with one row per dimension, one column per
|
||||
subject. Cite hard facts the same way any other page does.
|
||||
- State the trade-off, not a winner. Where a recommendation is genuinely warranted, scope it:
|
||||
"for X workload", not "better".
|
||||
|
||||
## Outbound linking
|
||||
|
||||
A comparison links to every subject with `related to`, and each subject links back. Comparison
|
||||
pages are **exempt from the orphan check** - they are reached through `index.md` rather than
|
||||
through inbound prose links.
|
||||
|
||||
## What does not belong here
|
||||
|
||||
- A comparison of things this wiki does not otherwise cover.
|
||||
- Feature-matrix dumps copied from a vendor page. If the material is a source, ingest it as one
|
||||
and compile the comparison from it.
|
||||
@@ -0,0 +1,12 @@
|
||||
<!-- Generated by `wikitool index rebuild`. Do not hand-edit. -->
|
||||
|
||||
# kb/comparisons/ - Index
|
||||
|
||||
1 page(s). Regenerated by `wikitool index rebuild`.
|
||||
|
||||
## All
|
||||
|
||||
| Page | Type | Summary | Last Modified |
|
||||
|------|------|---------|----------------|
|
||||
| [[amd-pstate vs acpi-cpufreq]] | comparison | Vergleich zweier AMD-CPU-Power-Management-Treiber: CPPC-basiertes amd-pstate gegenüber ACPI-basiertem acpi-cpufreq. | 2026-07-31 |
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
---
|
||||
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\xFC\
|
||||
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:**
|
||||
```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.
|
||||
|
||||
## Beziehungen
|
||||
|
||||
- **compares:** [[amd-pstate]]
|
||||
- **compares:** [[acpi-cpufreq]]
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- [[amd-pstate]]
|
||||
- [[acpi-cpufreq]]
|
||||
|
||||
Reference in New Issue
Block a user