Skip to content

Enable CONFIG_POWERCAP and CONFIG_INTEL_RAPL in kernel config #1405

@shepherdjerred

Description

@shepherdjerred

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions