[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251125112650.329269-1-ulf.hansson@linaro.org>
Date: Tue, 25 Nov 2025 12:26:41 +0100
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>,
Maulik Shah <quic_mkshah@...cinc.com>,
Prasad Sodagudi <psodagud@...cinc.com>,
Dhruva Gole <d-gole@...com>,
Deepti Jaggi <quic_djaggi@...cinc.com>,
Ulf Hansson <ulf.hansson@...aro.org>,
linux-kernel@...r.kernel.org
Subject: [PATCH v4 0/6] PM: QoS: Introduce a CPU system wakeup QoS limit for s2idle
Changes in v4:
- Add Kconfig help text. (Dhruva)
- Fixed grammar in documentation patch (Dhruva)
- Added reviewed/tested-by tags from Dhruva/Kevin. I leave Rafael to add
his tags when applying.
Changes in v3:
- Take new the new QoS limit into account for cpuidle too (Rafael).
- Add a new Kconfig for the new QoS interface (Rafael)
- Improved the documentation (Dhruva)
- Clarified commit messages and added acks.
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 a use case.
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/cpuidle.
Kind regards
Ulf Hansson
Ulf Hansson (6):
PM: QoS: Introduce a CPU system wakeup QoS limit
pmdomain: Respect the CPU system wakeup QoS limit for s2idle
pmdomain: Respect the CPU system wakeup QoS limit for cpuidle
sched: idle: Respect the CPU system wakeup QoS limit for s2idle
cpuidle: Respect the CPU system wakeup QoS limit for cpuidle
Documentation: power/cpuidle: Document the CPU system wakeup latency
QoS
Documentation/admin-guide/pm/cpuidle.rst | 9 ++
Documentation/power/pm_qos_interface.rst | 9 +-
drivers/cpuidle/cpuidle.c | 12 +--
drivers/cpuidle/governor.c | 4 +
drivers/pmdomain/core.c | 10 ++-
drivers/pmdomain/governor.c | 33 ++++++-
include/linux/cpuidle.h | 6 +-
include/linux/pm_domain.h | 1 +
include/linux/pm_qos.h | 9 ++
kernel/power/Kconfig | 11 +++
kernel/power/qos.c | 106 +++++++++++++++++++++++
kernel/sched/idle.c | 12 +--
12 files changed, 203 insertions(+), 19 deletions(-)
--
2.43.0
Powered by blists - more mailing lists