> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siderolabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CPUScalingConfig

> CPUScalingConfig configures Linux CPU frequency scaling.

```yaml theme={null}
apiVersion: v1alpha1
kind: CPUScalingConfig
name: all-cores # Name of the config document.
# Selector to match the cpufreq policies to configure.
selector:
    match: "true" # The Common Expression Language (CEL) expression to match the cpufreq policy.
governor: performance # Scaling governor to set, e.g. `performance`, `powersave` or `schedutil`.

# # Energy performance preference to set, e.g. `performance`, `balance_performance`,
# energyPerformancePreference: balance_performance

# # Lower bound of the frequency window the governor may use, in kHz.
# minFrequencyKhz: 1200000

# # Upper bound of the frequency window the governor may use, in kHz.
# maxFrequencyKhz: 3300000
```

```yaml theme={null}
apiVersion: v1alpha1
kind: CPUScalingConfig
name: efficiency-cores # Name of the config document.
# Selector to match the cpufreq policies to configure.
selector:
    match: cpu.core_type == "efficiency" # The Common Expression Language (CEL) expression to match the cpufreq policy.
governor: powersave # Scaling governor to set, e.g. `performance`, `powersave` or `schedutil`.

# # Energy performance preference to set, e.g. `performance`, `balance_performance`,
# energyPerformancePreference: balance_performance

# # Lower bound of the frequency window the governor may use, in kHz.
# minFrequencyKhz: 1200000

# # Upper bound of the frequency window the governor may use, in kHz.
# maxFrequencyKhz: 3300000
```

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
      <th>Value(s)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`name`</td>
      <td>string</td>
      <td>Name of the config document.\
      \
      It is used to tell apart several scaling policies, and is reported on the\
      `CPUScalingSpec` resources the document produces.</td>

      <td />
    </tr>

    <tr>
      <td>`selector`</td>
      <td>[CPUScalingSelector](#selector)</td>
      <td>Selector to match the cpufreq policies to configure.\
      \
      If several documents match the same policy, the first one (in document order) wins.</td>

      <td />
    </tr>

    <tr>
      <td>`governor`</td>
      <td>string</td>
      <td>Scaling governor to set, e.g. `performance`, `powersave` or `schedutil`.\
      \
      The governors a machine offers depend on its cpufreq driver, and are reported per policy\
      in `availableGovernors` of the `CPUScalingStatus` resource.</td>

      <td />
    </tr>

    <tr>
      <td>`energyPerformancePreference`</td>
      <td>string</td>
      <td>Energy performance preference to set, e.g. `performance`, `balance_performance`,\
      `balance_power` or `power`.\
      \
      Only some drivers implement this (HWP-enabled `intel_pstate`, `amd-pstate` in active\
      mode); the values a machine offers are reported per policy in `availableEPPs` of the\
      `CPUScalingStatus` resource.</td>

      <td />
    </tr>

    <tr>
      <td>`minFrequencyKhz`</td>
      <td>uint64</td>
      <td>Lower bound of the frequency window the governor may use, in kHz.\
      \
      Left alone when not set.</td>

      <td />
    </tr>

    <tr>
      <td>`maxFrequencyKhz`</td>
      <td>uint64</td>
      <td>Upper bound of the frequency window the governor may use, in kHz.\
      \
      Left alone when not set.</td>

      <td />
    </tr>
  </tbody>
</table>

## selector

CPUScalingSelector selects the cpufreq policies to configure.

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
      <th>Value(s)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`match`</td>
      <td>Expression</td>
      <td>The Common Expression Language (CEL) expression to match the cpufreq policy.\
      \
      The `cpu` variable is a cpufreq policy as reported by the `CPUScalingStatus` resource.</td>

      <td />
    </tr>
  </tbody>
</table>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.