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.
Changes since v8: - add lockdep and clock updated check in rq_clock_pelt() Vincent Guittot (3): sched/fair: move rq_of helper function sched/fair: update scale invariance of PELT sched/pelt: skip updating util_est when utilization is higher than cpu's capacity include/linux/sched.h | 23 +++------- kernel/sched/core.c | 1 + kernel/sched/deadline.c | 6 +-- kernel/sched/fair.c | 72 ++++++++++++++---------------- kernel/sched/pelt.c | 45 ++++++++++--------- kernel/sched/pelt.h | 114 ++++++++++++++++++++++++++++++++++++++++++++++-- kernel/sched/rt.c | 6 +-- kernel/sched/sched.h | 28 +++++++++++- 8 files changed, 209 insertions(+), 86 deletions(-) -- 2.7.4