[PATCH 0/2] Improve estimated utilization of preempted FAIR tasks

Patrick Bellasi
2018-06-04T16:05:58Z

Here is a small series to improve the estimated utilization of fair
tasks which
are preempted by either another FAIR task of by tasks of an higher
priority
scheduling class (i.e. RT and DL).

It can certainly be improved, but it has been already functionally
tested and given the discussion going on on IRC and in this other
thread:

https://lkml.org/lkml/2018/5/25/410
1527253951-22709-1-git-send-email-vincent.guittot@linaro.org

I wanted to anticipate a possible simple alternative/additional approach
to improve CPU utilization tracking for CFS tasks. Thus, every comment
and suggestion is more then welcome!

The main reasons and the overall idea is explained by the second patch
of this
series. While the first patch is just a first step in the direction of
having a
more memory and run-time efficient implementation.

The ultimate benefit of this series is to make the CFS class more robust
in
terms of its integration with the schedutil governor. Indeed, by better
estimating the CPU bandwidth requirements for CFS tasks we can assert
more
accurately their bandwidth demands and be less sensitive to side effect,
on
PELT, generated by higher priority classes preempting CFS tasks, like
the
CFS util_avg decay.

Cheers Patrick

Patrick Bellasi (2):
sched/fair: pelt: use u32 for util_avg
sched/fair: util_est: add running_sum tracking

include/linux/sched.h | 3 ++-
kernel/sched/debug.c | 2 +-
kernel/sched/fair.c | 33 ++++++++++++++++++++++++---------
3 files changed, 27 insertions(+), 11 deletions(-)

--
2.15.1