[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7hldnp6apf.fsf@baylibre.com>
Date: Mon, 11 Aug 2025 10:15:56 -0700
From: Kevin Hilman <khilman@...libre.com>
To: "Rafael J. Wysocki" <rafael@...nel.org>, Ulf Hansson
<ulf.hansson@...aro.org>
Cc: "Rafael J . Wysocki" <rafael@...nel.org>, linux-pm@...r.kernel.org,
Pavel Machek <pavel@...nel.org>, Len Brown <len.brown@...el.com>, Daniel
Lezcano <daniel.lezcano@...aro.org>, Saravana Kannan
<saravanak@...gle.com>, Maulik Shah <quic_mkshah@...cinc.com>, Prasad
Sodagudi <psodagud@...cinc.com>, linux-kernel@...r.kernel.org
Subject: Re: [RFC/PATCH 1/3] PM: QoS: Introduce a system-wakeup QoS limit
"Rafael J. Wysocki" <rafael@...nel.org> writes:
> On Wed, Jul 16, 2025 at 2:33 PM Ulf Hansson <ulf.hansson@...aro.org> wrote:
>>
>> Some platforms and devices supports multiple low-power-states than can be
>> used for system-wide suspend. Today these states are selected on per
>> subsystem basis and in most cases it's the deepest possible state that
>> becomes selected.
>>
>> For some use-cases this is a problem as it isn't suitable or even breaks
>> the system-wakeup latency constraint, when we decide to enter these deeper
>> states during system-wide suspend.
>>
>> Therefore, let's introduce an interface for user-space, allowing us to
>> specify the system-wakeup QoS limit. Subsequent changes will start taking
>> into account the QoS limit.
>
> Well, this is not really a system-wakeup limit, but a CPU idle state
> latency limit for states entered in the last step of suspend-to-idle.
>
> It looks like the problem is that the existing CPU latency QoS is not
> taken into account by suspend-to-idle, so instead of adding an
> entirely new interface to overcome this, would it make sense to add an
> ioctl() to the existing one that would allow the user of it to
> indicate that the given request should also be respected by
> suspend-to-idle?
>
> There are two basic reasons why I think so:
> (1) The requests that you want to be respected by suspend-to-idle
> should also be respected by the regular "runtime" idle, or at least I
> don't see a reason why it wouldn't be the case.
> (2) The new interface introduced by this patch basically duplicates
> the existing one.
I also think that just using the existing /dev/cpu_dma_latency is the
right approach here, and simply teaching s2idle to respect this value.
I'm curious about the need for a new ioctl() though. Under what
conditions do you want normal/runtime CPUidle to respect this value and
s2idle to not respect this value?
Kevin
Powered by blists - more mailing lists