[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251016151929.75863-1-ulf.hansson@linaro.org>
Date: Thu, 16 Oct 2025 17:19:20 +0200
From: Ulf Hansson <ulf.hansson@...aro.org>
To: "Rafael J . Wysocki" <rafael@...nel.org>,
linux-pm@...r.kernel.org
Cc: Vincent Guittot <vincent.guittot@...aro.org>,
Peter Zijlstra <peterz@...radead.org>,
Kevin Hilman <khilman@...libre.com>,
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>,
Dhruva Gole <d-gole@...com>,
Ulf Hansson <ulf.hansson@...aro.org>,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/4] PM: QoS: Introduce a CPU system-wakeup QoS limit for s2idle
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.
Kind regards
Ulf Hansson
Ulf Hansson (4):
PM: QoS: Introduce a CPU system-wakeup QoS limit
pmdomain: Respect the CPU system-wakeup QoS limit during s2idle
sched: idle: Respect the CPU system-wakeup QoS limit for s2idle
Documentation: power/cpuidle: Document the CPU system-wakeup latency
QoS
Documentation/admin-guide/pm/cpuidle.rst | 7 ++
Documentation/power/pm_qos_interface.rst | 9 +-
drivers/cpuidle/cpuidle.c | 12 +--
drivers/pmdomain/core.c | 10 ++-
drivers/pmdomain/governor.c | 27 ++++++
include/linux/cpuidle.h | 6 +-
include/linux/pm_domain.h | 1 +
include/linux/pm_qos.h | 5 ++
kernel/power/qos.c | 102 +++++++++++++++++++++++
kernel/sched/idle.c | 12 +--
10 files changed, 173 insertions(+), 18 deletions(-)
--
2.43.0
Powered by blists - more mailing lists