This 4th version of the scale invariance patchset adds an important change compare to previous ones. 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 ensure that all the pelt signal 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 Vincent Guittot (2): sched/fair: move rq_of helper function sched/fair: update scale invariance of PELT kernel/sched/core.c | 2 +- kernel/sched/deadline.c | 6 ++-- kernel/sched/fair.c | 29 +++++----------- kernel/sched/pelt.c | 88 ++++++++++++++++++++++++++++++++++++++++++++----- kernel/sched/pelt.h | 27 +++++++++++++++ kernel/sched/rt.c | 6 ++-- kernel/sched/sched.h | 18 ++++++++++ 7 files changed, 139 insertions(+), 37 deletions(-) -- 2.7.4