On Fri, Feb 25, 2022 at 04:36:53PM -0800, Doug Smythies wrote: > On Fri, Feb 25, 2022 at 9:46 AM Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote: > > > > On Thursday, February 24, 2022 9:08:30 AM CET Feng Tang wrote: > ... > > > > So it looks like a new mechanism is needed for that. > > > > > > If you think idle class is not the right place to solve it, I can > > > also help testing new patches. > > > > So I have the appended experimental patch to address this issue that's not > > been tested at all. Caveat emptor. > > Hi Rafael, > > O.K., you gave fair warning. > > The patch applied fine. > It does not compile for me. > The function cpuidle_update_retain_tick does not exist. > Shouldn't it be somewhere in cpuidle.c? > I used the function cpuidle_disable_device as a template > for searching and comparing. > > Because all of my baseline results are with kernel 5.17-rc3, > that is what I am still using. > > Error: > ld: drivers/cpufreq/intel_pstate.o: in function `intel_pstate_update_perf_ctl': > intel_pstate.c:(.text+0x2520): undefined reference to > `cpuidle_update_retain_tick' Same here, seems the cpuidle_update_retain_tick()'s implementation is missing. Thanks, Feng > ... Doug > > > > > I've been looking for something relatively low-overhead and taking all of the > > dependencies into account. > > > > --- > > drivers/cpufreq/intel_pstate.c | 40 ++++++++++++++++++++++++++++--------- > > drivers/cpuidle/governors/ladder.c | 6 +++-- > > drivers/cpuidle/governors/menu.c | 2 + > > drivers/cpuidle/governors/teo.c | 3 ++ > > include/linux/cpuidle.h | 4 +++ > > 5 files changed, 44 insertions(+), 11 deletions(-)