mbox series

[v7,0/2] sched/fair: update scale invariance of PELT

Message ID 1542711308-25256-1-git-send-email-vincent.guittot@linaro.org
Headers show
Series sched/fair: update scale invariance of PELT | expand

Message

Vincent Guittot Nov. 20, 2018, 10:55 a.m. UTC
This new version of the scale invariance patchset adds an important change
compare to v3 and before. It still scales the time to reflect the
amount of work that has been done during the elapsed running time but this is
now done at rq level instead of per entity and rt/dl/cfs_rq. The main
advantage is that it is done once per clock update and we don't need to
maintain per sched_avg's stolen_idle_time anymore. This also ensures that
all pelt signals will be always synced for a rq.

The 1st patch makes available rq_of() helper function for pelt.c file and
the 2nd patch implements the new scaling algorithm

Changes since v5:
- Fix niptick raised by Dietmar
- Upodated some comments
- Remove some unused variables
- No functional change

Vincent Guittot (2):
  sched/fair: move rq_of helper function
  sched/fair: update scale invariance of PELT

 include/linux/sched.h   |  23 +++-------
 kernel/sched/core.c     |   1 +
 kernel/sched/deadline.c |   6 +--
 kernel/sched/fair.c     |  58 +++++++++++--------------
 kernel/sched/pelt.c     |  45 +++++++++++---------
 kernel/sched/pelt.h     | 111 ++++++++++++++++++++++++++++++++++++++++++++++--
 kernel/sched/rt.c       |   6 +--
 kernel/sched/sched.h    |  21 ++++++++-
 8 files changed, 190 insertions(+), 81 deletions(-)

-- 
2.7.4