-
Notifications
You must be signed in to change notification settings - Fork 169
Closed
siderolabs/talos
#12431Description
Summary
The Talos kernel currently has CONFIG_POWERCAP disabled, which prevents users from setting Intel RAPL power limits (PL1/PL2) via sysfs at runtime.
# CONFIG_POWERCAP is not set
Only CONFIG_PERF_EVENTS_INTEL_RAPL=y is enabled, which allows reading energy counters but not setting power limits.
Use Case
Intel's 13th/14th generation processors (e.g., i9-13900K, i9-14900K) have documented stability issues when running with unlimited power limits. Intel's official recommendation is to set conservative power limits:
- PL1 (long-term): 125W
- PL2 (short-term): 188-253W
Currently, Talos users must configure these limits in BIOS, which:
- Requires physical/IPMI access
- Can't be managed declaratively via machine config
- Doesn't allow runtime adjustment
Requested Change
Enable in kernel/build/config-amd64 and config-arm64:
CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL=m
This would expose /sys/class/powercap/intel-rapl/ and allow setting power limits via Talos machine.sysfs:
machine:
sysfs:
devices.virtual.powercap.intel-rapl.intel-rapl:0.constraint_0_power_limit_uw: "125000000"
devices.virtual.powercap.intel-rapl.intel-rapl:0.constraint_1_power_limit_uw: "253000000"Additional Context
- Related projects like Kepler (CNCF) and Scaphandre use RAPL interfaces for power monitoring in Kubernetes
- The powercap subsystem is lightweight and only exposes sysfs interfaces when RAPL-capable hardware is present
- This would also benefit users wanting to monitor/limit power consumption in homelab or edge deployments
Environment
- Talos version: v1.11.2
- Kernel: 6.12.57-talos
- Hardware: Intel i9-14900K
Reactions are currently unavailable