SysadminNews

Intel DEC on Linux: zero means no desired target

On this page
  1. A specific field, not all CPU policy
  2. Why the distinction matters in diagnostics
  3. Measure a completed task

Setting a request field to zero does not ask a processor to run at zero speed. This patch removes one performance preference while retaining other parts of the request.

Conceptual HWP request fields with DEC enabled: minimum, maximum and EPP remain distinct; desired performance becomes zero, meaning no preference. The illustration is not the physical register bit layout.
Conceptual HWP request fields with DEC enabled: minimum, maximum and EPP remain distinct; desired performance becomes zero, meaning no preference. The illustration is not the physical register bit layout. Chart : PeopleAreGeek. Data source.
View full-size image

A specific field, not all CPU policy

Rafael Wysocki’s August 5 v2 patch clears HWP desired performance when Dynamic Efficiency Control is enabled, to avoid conflicting with firmware decisions. The mainline commit appears in the Linux 7.3-rc2 file history. It is no longer merely a proposal for that merge window.

The illustrated request separates minimum, maximum, desired level and energy/performance preference. Zero in the desired field means no preference, not a zero-frequency ceiling. The patch does not erase every other field.

Why the distinction matters in diagnostics

The intel_pstate documentation distinguishes operating modes and HWP behaviour. A machine’s actual operating point depends on more than a single requested value. EPP is a preference in the energy/performance tradeoff, rather than another frequency boundary.

Consider a laptop that stays within configured limits but changes its boost behaviour after a kernel update. The question is not simply whether Linux “still controls the CPU.” Record the scaling driver and mode, power profile, firmware revision and thermal conditions. Then compare the same workload. Otherwise a profile change or temperature difference can be mistaken for an effect of this patch.

Measure a completed task

A useful report pairs latency and completed work with energy. For a short interactive workload, include repeated response times. For a long build, include the build’s completion time and total energy over that interval. Hold charging state and background activity as constant as practical.

The change’s rationale supplies no universal percentage improvement. Nor does a processor family name alone establish that DEC is enabled on a particular machine. Identify the enabled feature and the code present in the installed kernel, including distribution backports, before attributing a result to this change.

September 8: verify August 5 v2 and mainline 7.3-rc2 history; separate desired performance from minimum/maximum and EPP, remove deterministic frequency and battery claims.