On 2024-05-27 16:25:50 [+0200], 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 looked at it and it seems limited to pmdomain/core.c, also I don't know if there is a ->set_performance_state callback set since the one I checked have mutex_t locking ;) So if this is needed, then be it. s2ram wouldn't be used in "production" but in "safe state" so I wouldn't worry too much about latency spikes. Not sure what it means for the other modes. I am not to worried for now, please don't let spread more than needed ;) > Kind regards > Ulf Hansson Sebastian