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@rjwysocki.net 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(-)