[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a577f1d1-ceba-4d46-b874-38aa40cc8354@quicinc.com>
Date: Thu, 25 Jul 2024 16:02:36 +0530
From: Raghavendra Kakarla <quic_rkakarla@...cinc.com>
To: Ulf Hansson <ulf.hansson@...aro.org>,
"Rafael J . Wysocki"
<rafael@...nel.org>,
Sudeep Holla <sudeep.holla@....com>, <linux-pm@...r.kernel.org>
CC: Lorenzo Pieralisi <Lorenzo.Pieralisi@....com>,
Nikunj Kela
<nkela@...cinc.com>,
Prasad Sodagudi <psodagud@...cinc.com>,
Maulik Shah
<quic_mkshah@...cinc.com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
<linux-rt-users@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 0/7] pmdomain/cpuidle-psci: Support s2idle/s2ram on
PREEMPT_RT
On 5/27/2024 7:55 PM, Ulf Hansson wrote:
> 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.
This series is tested on qcm6490 with PREEMPT_RT enabled. For the series,
Tested-by: Raghavendra Kakarla <quic_rkakarla@...cinc.com> # qcm6490
with PREEMPT_RT enabled
Tested APSS suspend and then SoC power collapse through s2idle and s2ram
paths.
APSS and soc power collapse stats are incremented.
/sys/kernel/debug/pm_genpd/power-domain-cluster/idle_states
/sys/kernel/debug/qcom_stats/cxsd
Without this series, they are not incremented.
Thanks,
Raghavendra K.
>
> 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(-)
>
Powered by blists - more mailing lists