Re: [PATCH 2/4] sched: cpufreq: Keep track of cpufreq utilization update flags

From: Viresh Kumar
Date: Tue Dec 19 2017 - 23:04:59 EST


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