Re: [PATCH 2/4] sched: cpufreq: Keep track of cpufreq utilization update flags
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2017-12-18 11:35:36
Also in:
lkml
On Mon, Dec 18, 2017 at 5:59 AM, Viresh Kumar [off-list ref] wrote:
On 17-12-17, 01:19, Rafael J. Wysocki wrote:quoted
We can do that in principle, but why should it return early? Maybe it's a good time to update things, incidentally? I actually don't like the SCHED_CPUFRREQ_CLEAR flag *concept* as it is very much specific to schedutil and blatantly ignores everybody else. Alternatively, you could add two flags for clearing SCHED_CPUFREQ_RT and SCHED_CPUFREQ_DL that could just be ingored entirely by intel_pstate. So, why don't you make SCHED_CPUFREQ_RT and SCHED_CPUFREQ_DL "sticky" until, say, SCHED_CPUFREQ_NO_RT and SCHED_CPUFREQ_NO_DL are passed, respectively?I didn't like adding scheduling class specific flags, and wanted the code to treat all of them in the same way. And then the governors can make a policy over that, on what to ignore and what not to. For example with the current patchset, the governors can know when nothing else is queued on a CPU and CPU is going to get into idle loop. They can choose to (or not to) do something in that case.
Well, if SCHED_CPUFRREQ_CLEAR means "this CPU is going to enter the idle loop" really, then it is better to call it SCHED_CPUFRREQ_ENTER_IDLE, for example. SCHED_CPUFRREQ_CLEAR meaning basically "you should clear these flags now" doesn't seem to convey any information to whoever doesn't squirrel the flags in the first place.