@@ -15,14 +15,16 @@ CPUOpt-Kernel translates vendor CPU performance controls into safe Linux policy
1515prefers existing kernel interfaces over raw register writes and treats thermal and fan
1616control as platform concerns, not as a shortcut for unsafe CPU tuning.
1717
18- Version ` v0.1 ` is intentionally conservative:
18+ Version ` v0.2 ` remains intentionally conservative:
1919
2020- Intel-first, user-space-first implementation
2121- No raw MSR writes
2222- No thermal protection bypass
2323- No voltage or overclock manipulation
2424- Reversible sysfs writes with snapshot/restore
2525- Dry-run support for every profile application
26+ - ` doctor ` , ` explain ` , ` intel-hwp ` , and compare/telemetry-oriented depth commands
27+ - Read-only Intel MSR telemetry decoder with no write path
2628
2729## Why this exists
2830
@@ -42,6 +44,11 @@ The first release focuses on safe Intel profile application through sysfs:
4244- ` discover ` and ` status ` report CPUFreq, ` intel_pstate ` , EPP, EPB, turbo, cpuidle,
4345 thermal, cooling, hwmon, SMT, topology, and NUMA metadata when present
4446- ` profile ` maps high-level policies to existing sysfs knobs
47+ - ` doctor ` highlights problems, opportunities, and safety constraints before tuning
48+ - ` explain ` documents profile intent, tradeoffs, and safety limits
49+ - ` intel-hwp ` reports Intel HWP/EPP exposure and optional read-only telemetry availability
50+ - ` msr-read --intel --safe ` decodes a small read-only allowlist of Intel MSRs
51+ - ` compare ` provides a safe benchmark/comparison scaffold without automatic package install
4552- ` monitor ` provides lightweight live telemetry
4653- ` restore ` replays the last reversible snapshot
4754
@@ -65,10 +72,16 @@ cpuopt-kernel/
6572python3 cpuoptctl/cpuoptctl.py status
6673python3 cpuoptctl/cpuoptctl.py discover --json
6774sudo python3 cpuoptctl/cpuoptctl.py profile performance --dry-run
75+ sudo python3 cpuoptctl/cpuoptctl.py profile performance --dry-run --diff
6876sudo python3 cpuoptctl/cpuoptctl.py profile balanced
6977sudo python3 cpuoptctl/cpuoptctl.py profile latency --allow-idle-tuning
7078sudo python3 cpuoptctl/cpuoptctl.py profile quiet
7179sudo python3 cpuoptctl/cpuoptctl.py profile ai-inference
80+ python3 cpuoptctl/cpuoptctl.py doctor
81+ python3 cpuoptctl/cpuoptctl.py explain performance
82+ python3 cpuoptctl/cpuoptctl.py intel-hwp
83+ sudo python3 cpuoptctl/cpuoptctl.py msr-read --intel --safe
84+ python3 cpuoptctl/cpuoptctl.py compare balanced performance --benchmark stress-ng --duration 30
7285sudo python3 cpuoptctl/cpuoptctl.py monitor --interval 2
7386sudo python3 cpuoptctl/cpuoptctl.py restore
7487python3 cpuoptctl/cpuoptctl.py export-json
@@ -86,14 +99,31 @@ python3 -m unittest
8699
87100- CPUOpt prefers existing kernel interfaces over raw register writes.
88101- Every write validates path existence, writability intent, and candidate value selection.
102+ - Dry-run performs zero filesystem modifications.
89103- Unknown sysfs paths are skipped, not guessed.
90104- Failed writes are logged and are non-fatal.
91105- Modified values are snapshotted to ` last_state.json ` before application.
92- - v0.1 never writes ` /dev/cpu/*/msr ` , firmware registers, BIOS settings, or BMC controls.
106+ - ` msr-read ` is read-only telemetry only and never writes ` /dev/cpu/*/msr ` .
107+ - CPUOpt never writes firmware registers, BIOS settings, or BMC controls.
93108- Fan writes are intentionally unimplemented in v0.1 even if fan inspection is enabled.
94109
95110See [ docs/SAFETY.md] ( C:\Users\ManishKL\Documents\Playground\cpuopt-kernel\docs\SAFETY.md ) for the full model.
96111
112+ ## Demo
113+
114+ ``` bash
115+ cpuoptctl doctor
116+ cpuoptctl profile performance --dry-run --diff
117+ cpuoptctl monitor
118+ ```
119+
120+ Demo assets:
121+
122+ - [ assets/cpuopt-status-demo.txt] ( C:\Users\ManishKL\Documents\Playground\cpuopt-kernel\assets\cpuopt-status-demo.txt )
123+ - [ assets/cpuopt-doctor-demo.txt] ( C:\Users\ManishKL\Documents\Playground\cpuopt-kernel\assets\cpuopt-doctor-demo.txt )
124+ - [ assets/cpuopt-dry-run-demo.txt] ( C:\Users\ManishKL\Documents\Playground\cpuopt-kernel\assets\cpuopt-dry-run-demo.txt )
125+ - [ assets/cpuopt-monitor-demo.txt] ( C:\Users\ManishKL\Documents\Playground\cpuopt-kernel\assets\cpuopt-monitor-demo.txt )
126+
97127## Example status output
98128
99129``` text
@@ -120,9 +150,10 @@ Warnings:
120150- Optional kernel module under ` /sys/kernel/cpuopt/ `
121151- Read-only MSR decoding with model-aware guardrails
122152- Model-specific write allowlists only after documentation and fallback validation
153+ - Workload presets, benchmark compare, and richer doctor/explain flows
123154
124155## Project metadata
125156
126157- License: ` GPL-2.0-only `
127- - Current target release: ` v0.1 .0 `
158+ - Current target release: ` v0.2 .0 `
128159- CI: GitHub Actions runs Python compile checks and ` unittest `
0 commit comments