public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] pmdomain/cpuidle-psci: Support s2idle/s2ram on PREEMPT_RT
@ 2024-05-27 14:25 Ulf Hansson
  2024-05-27 14:25 ` [PATCH v2 1/7] pmdomain: core: Enable s2idle for CPU PM domains " Ulf Hansson
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Ulf Hansson @ 2024-05-27 14:25 UTC (permalink / raw)
  To: Rafael J . Wysocki, Sudeep Holla, linux-pm
  Cc: Lorenzo Pieralisi, Nikunj Kela, Prasad Sodagudi, Maulik Shah,
	Daniel Lezcano, Krzysztof Kozlowski, Ulf Hansson, linux-rt-users,
	linux-arm-kernel, linux-kernel

Updates in v2:
	- Rebased and fixed a small issue in genpd, see patch3.
	- Re-tested on v6.9-rt5 (PREEMPT_RT enabled)
	- Re-tested on v6.10-rc1 (for regressions, PREEMPT_RT disabled)

The hierarchical PM domain topology and the corresponding domain-idle-states
are currently disabled on a PREEMPT_RT based configuration. The main reason is
because spinlocks are turned into sleepable locks on PREEMPT_RT, which means
genpd and runtime PM can't be use in the atomic idle-path when
selecting/entering an idle-state.

For s2idle/s2ram this is an unnecessary limitation that this series intends to
address. Note that, the support for cpuhotplug is left to future improvements.
More information about this are available in the commit messages.

I have tested this on a Dragonboard 410c.

Kind regards
Ulf Hansson


Ulf Hansson (7):
  pmdomain: core: Enable s2idle for CPU PM domains on PREEMPT_RT
  pmdomain: core: Don't hold the genpd-lock when calling
    dev_pm_domain_set()
  pmdomain: core: Use dev_name() instead of kobject_get_path() in
    debugfs
  cpuidle: psci-domain: Enable system-wide suspend on PREEMPT_RT
  cpuidle: psci: Drop redundant assignment of CPUIDLE_FLAG_RCU_IDLE
  cpuidle: psci: Enable the hierarchical topology for s2ram on
    PREEMPT_RT
  cpuidle: psci: Enable the hierarchical topology for s2idle on
    PREEMPT_RT

 drivers/cpuidle/cpuidle-psci-domain.c | 10 ++--
 drivers/cpuidle/cpuidle-psci.c        | 26 ++++++----
 drivers/pmdomain/core.c               | 75 +++++++++++++++++++--------
 include/linux/pm_domain.h             |  5 +-
 4 files changed, 80 insertions(+), 36 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2024-09-03 10:13 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-27 14:25 [PATCH v2 0/7] pmdomain/cpuidle-psci: Support s2idle/s2ram on PREEMPT_RT Ulf Hansson
2024-05-27 14:25 ` [PATCH v2 1/7] pmdomain: core: Enable s2idle for CPU PM domains " Ulf Hansson
2024-05-28 19:55   ` Nikunj Kela
2024-05-30  8:15     ` Ulf Hansson
2024-05-30 14:23       ` Nikunj Kela
2024-06-03 13:58         ` Ulf Hansson
2024-06-04 17:22           ` Nikunj Kela
2024-05-27 14:25 ` [PATCH v2 2/7] pmdomain: core: Don't hold the genpd-lock when calling dev_pm_domain_set() Ulf Hansson
2024-05-27 14:25 ` [PATCH v2 3/7] pmdomain: core: Use dev_name() instead of kobject_get_path() in debugfs Ulf Hansson
2024-08-20  8:55   ` Geert Uytterhoeven
2024-08-20  8:57     ` Ulf Hansson
2024-08-30 15:50       ` Geert Uytterhoeven
2024-09-02 14:42         ` Geert Uytterhoeven
2024-09-03 10:13           ` Ulf Hansson
2024-05-27 14:25 ` [PATCH v2 4/7] cpuidle: psci-domain: Enable system-wide suspend on PREEMPT_RT Ulf Hansson
2024-05-27 14:25 ` [PATCH v2 5/7] cpuidle: psci: Drop redundant assignment of CPUIDLE_FLAG_RCU_IDLE Ulf Hansson
2024-05-27 14:25 ` [PATCH v2 6/7] cpuidle: psci: Enable the hierarchical topology for s2ram on PREEMPT_RT Ulf Hansson
2024-05-27 14:25 ` [PATCH v2 7/7] cpuidle: psci: Enable the hierarchical topology for s2idle " Ulf Hansson
2024-07-08 13:53 ` [PATCH v2 0/7] pmdomain/cpuidle-psci: Support s2idle/s2ram " Sebastian Andrzej Siewior
2024-07-09 15:31   ` Ulf Hansson
2024-07-31  8:15     ` Sebastian Andrzej Siewior
2024-07-25 10:32 ` Raghavendra Kakarla
2024-08-05 11:35 ` Ulf Hansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox