Re: [PATCH v2 0/4] PM: QoS: Introduce a CPU system-wakeup QoS limit for s2idle
From: Ulf Hansson
Date: Thu Oct 30 2025 - 08:23:20 EST
On Wed, 29 Oct 2025 at 15:53, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>
> On Thu, Oct 16, 2025 at 5:19 PM Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
> >
> > Changes in v2:
> > - Limit the new QoS to CPUs and make some corresponding renaming of the
> > functions along with name of the device node for user space.
> > - Make sure we deal with the failure/error path correctly when there are
> > no state available for s2idle.
> > - Add documentation.
> >
> > Some platforms supports multiple low-power states for CPUs that can be used
> > when entering system-wide suspend and s2idle in particular. Currently we are
> > always selecting the deepest possible state for the CPUs, which can break the
> > system-wakeup latency constraint that may be required for some use-cases.
> >
> > Therefore, this series suggests to introduce a new interface for user-space,
> > allowing us to specify the CPU system-wakeup QoS limit. The QoS limit is then
> > taken into account when selecting a suitable low-power state for s2idle.
>
> Last time we discussed this I said I would like the new limit to be
> taken into account by regular "runtime" cpuidle because the "s2idle"
> limit should not be less that the "runtime" limit (or at least it
> would be illogical if that happened).
Yes, we discussed this, but that was also before we concluded to add a
new file for user-space to operate on after all.
To me, it looks unnecessarily limiting to not allow them to be
orthogonal, but I am not insisting that it needs to be like this. I
was just thinking that we do not necessarily have to care about the
same use-case in runtime as in the system-suspend state. Moreover,
nothing would prevent user-space from applying the same constraint to
both of them, if that is needed.
>
> It looks like that could be implemented by making
> cpuidle_governor_latency_req() take cpu_wakeup_latency_qos_limit()
> into account, couldn't it?
Right, but I am not sure we want that. See above.
Kind regards
Uffe