On Wed, Aug 5, 2020 at 5:38 PM Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> wrote: > > On Wed, 2020-08-05 at 11:34 +0200, Rafael J. Wysocki wrote: > > Hi Doug, > > > > On Tue, Aug 4, 2020 at 7:07 PM Doug Smythies <dsmythies@xxxxxxxxx> > > wrote: > > > Hi Rafael, > > > > > > > [...] > > > Note that the active mode performance scaling algorithm (which is not > > the same as the performance cpufreq governor) sets the EPP to 0 for > > all of the CPUs that it is used with and the driver sets the EPP to > > 255 in ->stop_cpu. > > > > That last bit is questionable, but that's the active mode behavior > > which is not changed by the $subject patch. > You need to set the CPU which is going offline to the lowest perf > settings. If not its sibling's performance can never be lowered than > offlined CPUs max/min/epp. OK, fair enough. I'm not going to make this change after all then. :-) This behavior is really confusing, though, because if you change the status from "active" to "passive" or the other way around, the EPP goes to 0xFF on all CPUs and cannot be restored. To fix this, we need an extra patch on top of the $subject one to introduce ->online and ->offline callbacks so that ->offline sets the EPP to 0xFF and either ->online or ->exit can restore it to the previous setting. Cheers!