Re: [PATCH 6/6] cpufreq: schedutil: New governor based on scheduler utilization data
From: Rafael J. Wysocki <hidden>
Date: 2016-03-10 22:26:38
Also in:
linux-acpi, lkml
From: Rafael J. Wysocki <hidden>
Date: 2016-03-10 22:26:38
Also in:
linux-acpi, lkml
On Thursday, March 10, 2016 11:56:14 AM Peter Zijlstra wrote:
On Thu, Mar 10, 2016 at 11:30:08AM +0100, Peter Zijlstra wrote:quoted
On Thu, Mar 10, 2016 at 05:23:54PM +0700, Vincent Guittot wrote:quoted
quoted
No, since its a compile time thing, we can simply do: #ifdef arch_scale_freq_capacity next_freq = (1 + 1/n) * max_freq * (util / max) #else next_freq = (1 + 1/n) * current_freq * (util_raw / max) #endifselecting formula at compilation is clearly better. I wrongly thought that it can't be accepted as a solution.Well, its bound to get more 'interesting' since I forse implementations not always actually doing the invariant thing. Take for example the thing I send: lkml.kernel.org/r/20160303162829.GB6375@twins.programming.kicks-ass.net it both shows why you cannot talk about current_freq but also that the above needs a little more help (for the !X86_FEATURE_APERFMPERF case). But the !arch_scale_freq_capacity case should indeed be that simple.Maybe something like: #ifdef arch_scale_freq_capacity #ifndef arch_scale_freq_invariant #define arch_scale_freq_invariant() (true) #endif #else /* arch_scale_freq_capacity */ #define arch_scale_freq_invariant() (false) #endif if (arch_scale_freq_invariant()) And have archs that have conditional arch_scale_freq_capacity() implementation provide a arch_scale_freq_invariant implementation.
Yeah, looks workable to me.