On 19-12-17, 20:25, Peter Zijlstra wrote: > Yeah, not happy about this either; we had code that did the right thing > without this extra tracking I think.
Sure, but how do you suggest we fix the problems we are facing with the current design? Patrick had a completely different proposal for solving those problems, which I didn't like very much. This patchset replaced these patches from Patrick: - [PATCH v3 1/6] cpufreq: schedutil: reset sg_cpus's flags at IDLE enter https://marc.info/?l=linux-kernel&m=151204247801633&w=2 - [PATCH v3 2/6] cpufreq: schedutil: ensure max frequency while running RT/DL tasks https://marc.info/?l=linux-kernel&m=151204253801657&w=2 - [PATCH v3 6/6] cpufreq: schedutil: ignore sugov kthreads https://marc.info/?l=linux-kernel&m=151204251501647&w=2 > Also, we can look at the rq state if we want to, we don't need to > duplicate that state. Well that also looks fine to me, and that would mean this: - We remove SCHED_CPUFREQ_RT and SCHED_CPUFREQ_DL flags, but still call the utilization callbacks from RT and DL classes. - From the utilization handler, we check runqueues of all three sched classes to see if they have some work pending (this can be done smartly by checking only RT first and skipping other checks if RT has some work). Will that be acceptable ? -- viresh