[PATCH 0/3 v3] sched/rt: track rt rq utilization

From: Vincent Guittot
Date: Wed Nov 22 2017 - 09:36:14 EST


When both cfs and rt tasks compete to run on a CPU, we can see some frequency
drops with schedutil governor. In such case, the cfs_rq's utilization doesn't
reflect anymore the utilization of cfs tasks but only the remaining part that
is not used by rt tasks. We should monitor the stolen utilization and take
it into account when selecting OPP.

Pathc 1 move pelt code in pelt.c file
Patch 2 tracks utilization of rt_rq.
Patch 3 adds the rt_rq's utilization when selection OPP for cfs tasks

This patchset doesn't change the OPP selection policy for RT tasks

Change since v2:
- move pelt code into a dedicated pelt.c file
- rebase on load tracking changes

Change since v1:
- Only a rebase. I have addressed the comments on previous version in
patch 1/2

Vincent Guittot (3):
sched/pelt: Move pelt related code in a dedicated file
sched/rt: add rt_rq utilization tracking
cpufreq/schedutil: add rt utilization tracking

kernel/sched/Makefile | 2 +-
kernel/sched/cpufreq_schedutil.c | 2 +-
kernel/sched/fair.c | 310 +-----------------------------------
kernel/sched/pelt.c | 331 +++++++++++++++++++++++++++++++++++++++
kernel/sched/pelt.h | 24 +++
kernel/sched/rt.c | 9 ++
kernel/sched/sched.h | 21 +++
7 files changed, 390 insertions(+), 309 deletions(-)
create mode 100644 kernel/sched/pelt.c
create mode 100644 kernel/sched/pelt.h

--
2.7.4