Thread (3 messages) 3 messages, 2 authors, 2016-03-10

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

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)
#endif
selecting 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help