[PATCH] cpuidle: psci: Fix cpuhotplug routine with PREEMPT_RT=y
Ulf Hansson
ulf.hansson at linaro.org
Thu Jul 10 07:40:59 PDT 2025
On Thu, 10 Jul 2025 at 14:57, Sudeep Holla <sudeep.holla at arm.com> wrote:
>
> On Thu, Jul 10, 2025 at 02:43:10PM +0200, Rafael J. Wysocki wrote:
> > On Wed, Jul 9, 2025 at 5:47 PM Daniel Lezcano <daniel.lezcano at linaro.org> wrote:
> > >
> > > Currently cpu hotplug with the PREEMPT_RT option set in the kernel is
> > > not supported because the underlying generic power domain functions
> > > used in the cpu hotplug callbacks are incompatible from a lock point
> > > of view. This situation prevents the suspend to idle to reach the
> > > deepest idle state for the "cluster" as identified in the
> > > undermentioned commit.
> > >
> > > Use the compatible ones when PREEMPT_RT is enabled and remove the
> > > boolean disabling the hotplug callbacks with this option.
> > >
> > > With this change the platform can reach the deepest idle state
> > > allowing at suspend time to consume less power.
> > >
> > > Tested-on Lenovo T14s with the following script:
> > >
> > > echo 0 > /sys/devices/system/cpu/cpu3/online
> > > BEFORE=$(cat /sys/kernel/debug/pm_genpd/power-domain-cpu-cluster0/idle_states | grep S0 | awk '{ print $3 }') ;
> > > rtcwake -s 1 -m mem;
> > > AFTER=$(cat /sys/kernel/debug/pm_genpd/power-domain-cpu-cluster0/idle_states | grep S0 | awk '{ print $3 }');
> > > if [ $BEFORE -lt $AFTER ]; then
> > > echo "Test successful"
> > > else
> > > echo "Test failed"
> > > fi
> > > echo 1 > /sys/devices/system/cpu/cpu3/online
> > >
> > > Fixes: 1c4b2932bd62 ("cpuidle: psci: Enable the hierarchical topology for s2idle on PREEMPT_RT")
> > > Cc: Raghavendra Kakarla <quic_rkakarla at quicinc.com>
> > > Signed-off-by: Daniel Lezcano <daniel.lezcano at linaro.org>
> >
> > As per MAINTAINERS, this is for Ulf/Sudeep.
> >
>
> LGTM, so
>
> Reviewed-by: Sudeep Holla <sudeep.holla at arm.com>
>
> I still prefer to hear from Ulf who has more knowledge and hands-on experience
> with s2idle + PREEMPT_RT in case I am missing something.
Rafael, Sudeep,
I will pick this patch via my pmdomain tree, but will run some tests
of it first to be sure.
Kind regards
Uffe
More information about the linux-arm-kernel
mailing list