Re: [PATCH] cpufreq: schedutil: add up/down frequency transition rate limits

From: Peter Zijlstra
Date: Mon Nov 21 2016 - 10:34:17 EST


On Mon, Nov 21, 2016 at 04:26:06PM +0100, Peter Zijlstra wrote:
> > For example, a task running 30 [ms] every 100 [ms] is a ~300 util_avg
> > task. With PELT, we get a signal which range between [120,550] with an
> > average of ~300 which is instead completely ignored. By capping the
> > decay we will get:
> >
> > decay_cap [ms] range average
> > 0 120:550 300
> > 64 140:560 310
> > 32 320:660 430
> >
> > which means that still the raw PELT signal is wobbling and never
> > provides a consistent response to drive decisions.
> >
> > Thus, a "predictor" should be something which sample information from
> > PELT to provide a more consistent view, a sort of of low-pass filter
> > on top of the "dynamic metric" which is PELT.

Note that a simple low-pass IIR filter will only shrink the wobble, not
take it out entirely. Or rather, if you make it so strong as to take the
entire wobble out, it'll likely react like molasses.