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.