Messages in this thread | | | Date | Mon, 4 Mar 2019 18:49:49 +0100 | From | Peter Zijlstra <> | Subject | Re: 答复: [PATCH V4] sc hed/cpufreq: initializ e iowait_boost_max and iowait_boost with cpu capacity |
| |
On Mon, Mar 04, 2019 at 04:48:16PM +0000, Quentin Perret wrote: > On Monday 04 Mar 2019 at 16:26:16 (+0100), Peter Zijlstra wrote: > > On Mon, Mar 04, 2019 at 01:58:12PM +0000, Quentin Perret wrote: > > > You could also update the values in sugov_get_util() at the cost of a > > > small overhead to compute 'min'. I'm not sure what's preferable since > > > we wanted to avoid that kind of overhead in the first place ... > > > > Or,... we could actually make things simpler. > > > > How's the below? I have a feq questions wrt min, mostly: > > > > - what's the difference between policy->min and > > policy->cpuinfo.min_freq; it used to be the former, the below uses > > the latter. > > As mentioned on IRC, IIRC policy->min is something that can be written > from userspace (for example) to cap the min freq. OTOH, cpuinfo.min_freq > is read-only and just reports the lowest OPP. > > Rafael is this correct ? > > > - should we have a min_freq based value, instead of a constant; the > > difference being that with this the actual boost speed depends in the > > gap between min/max. > > If the above is correct, then I agree. Looking at min_freq simplifies > things quite a bit since it doesn't need to be updated all the time, > and the whole policy->min stuff is dealt with at the CPUFreq core level > so it's not obvious sugov should care.
Using a constant value (my dice seem to like 128 for some reason) would result in the boost curve being independent of the available frequencies -- and thus the same for all machines.
With that particular value, we need 9 consecutive IOWAIT wakeups to reach MAX, instead of some random number (7 for your juno r0).
| |