Re: [PATCH] cpuidle: Add the shallow governors
From: Christian Loehle
Date: Thu Oct 08 2026 - 14:33:46 EST
On 10/8/26 19:17, Christian Loehle wrote:
> On 10/8/26 19:06, Roman Kagan wrote:
>> The idle states offered by a platform trade wakeup latency for energy
>> savings, and there are situations where the trade is not worth making:
>> while a latency-sensitive workload is running, or during a live update
>> via kexec, where everything from the outgoing kernel stopping the
>> workload to the incoming kernel resuming it is downtime, and deep idle
>> states may lengthen it.
>>
>> The mechanisms currently available for that are all one-way.
>> cpuidle.off=1, idle=poll and idle=halt can only be requested in the
>> kernel command line and cannot be undone, and the PM QoS interfaces
>> (/dev/cpu_dma_latency and the per-CPU pm_qos_resume_latency_us
>> attribute) can only be used once user space is up, so they cannot cover
>> the boot of the incoming kernel.
>
> You can also disable all but the shallowest idle state in sysfs:
> echo 1 > /sys/devices/system/cpu/cpuX/cpuidle/stateX/disable
>
And I'd probably prefer having that exposed via the cmdline rather than
two separate governors...