linux/kernel/sched
Peter Zijlstra 217eb9f401 UPSTREAM: sched/fair: Apply more PELT fixes
One additional 'rule' for using update_cfs_rq_load_avg() is that one
should call update_tg_load_avg() if it returns true.

Add a bunch of comments to hopefully clarify some of the rules:

 o  You need to update cfs_rq _before_ any entity attach/detach,
    this is important, because while for mathmatical consisency this
    isn't strictly needed, it is required for the physical
    interpretation of the model, you attach/detach _now_.

 o  When you modify the cfs_rq avg, you have to then call
    update_tg_load_avg() in order to propagate changes upwards.

 o  (Fair) entities are always attached, switched_{to,from}_fair()
    deal with !fair. This directly follows from the definition of the
    cfs_rq averages, namely that they are a direct sum of all
    (runnable or blocked) entities on that rq.

It is the second rule that this patch enforces, but it adds comments
pertaining to all of them.

Change-Id: Icdc906e98c67b84cb9582c893bc761a9886be57a
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
(cherry picked from commit 3d30544f02)
Signed-off-by: Chris Redpath <chris.redpath@arm.com>
2017-06-21 16:37:32 +05:30
..
auto_group.c
auto_group.h
clock.c
completion.c
core.c UPSTREAM: sched/fair: Fix post_init_entity_util_avg() serialization 2017-06-21 16:37:32 +05:30
cpuacct.c
cpuacct.h
cpudeadline.c
cpudeadline.h
cpufreq_sched.c sched/cpufreq: fix tunables for schedfreq governor 2017-06-21 16:34:04 +05:30
cpufreq_schedutil.c FROM-LIST: cpufreq: schedutil: Redefine the rate_limit_us tunable 2017-06-21 16:37:20 +05:30
cpufreq.c sched: backport cpufreq hooks from 4.9-rc4 2017-06-21 16:34:04 +05:30
cpupri.c
cpupri.h
cputime.c Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2016-09-20 15:18:54 +08:00
deadline.c sched: backport cpufreq hooks from 4.9-rc4 2017-06-21 16:34:04 +05:30
debug.c
energy.c sched: Support for extracting EAS energy costs from DT 2016-09-14 14:48:50 +05:30
fair.c UPSTREAM: sched/fair: Apply more PELT fixes 2017-06-21 16:37:32 +05:30
features.h sched: Add Kconfig option DEFAULT_USE_ENERGY_AWARE to set ENERGY_AWARE feature flag 2016-10-12 17:34:22 +05:30
idle_task.c
idle.c vmstat: make vmstat_updater deferrable again and shut down on idle 2016-09-14 15:02:22 +05:30
loadavg.c
Makefile BACKPORT: cpufreq: schedutil: New governor based on scheduler utilization data 2017-06-21 16:34:04 +05:30
rt.c sched: backport cpufreq hooks from 4.9-rc4 2017-06-21 16:34:04 +05:30
sched.h BACKPORT: sched/fair: Initiate a new task's util avg to a bounded value 2017-06-21 16:37:32 +05:30
stats.c
stats.h
stop_task.c sched: Introduce Window Assisted Load Tracking (WALT) 2016-09-14 15:02:22 +05:30
tune.c sched: tune: Fix lacking spinlock initialization 2016-12-01 15:18:44 +05:30
tune.h sched/tune: Introducing a new schedtune attribute prefer_idle 2016-09-14 15:02:22 +05:30
wait.c
walt.c sched/walt: kill {min,max}_capacity 2017-01-02 13:54:08 +05:30
walt.h sched/walt: Accounting for number of irqs pending on each core 2016-09-14 15:02:22 +05:30