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@xxxxxxxxxx> 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@xxxxxxxxxxx> > > Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> > > As per MAINTAINERS, this is for Ulf/Sudeep. > LGTM, so Reviewed-by: Sudeep Holla <sudeep.holla@xxxxxxx> 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. -- Regards, Sudeep