diff options
author | Josef Bacik <[email protected]> | 2017-08-03 11:13:39 -0400 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2017-09-29 19:35:17 +0200 |
commit | 2c8e4dce7963d2bae02db95fce2691365630685c (patch) | |
tree | 24bfa3d440991df5e21a6dd62bf426014f959af8 /tools/perf/util/trace-event-scripting.c | |
parent | 9a2dd585b2c431ec1e5d46a9d9568291c7a534cc (diff) |
sched/fair: Calculate runnable_weight slightly differently
Our runnable_weight currently looks like this
runnable_weight = shares * runnable_load_avg / load_avg
The goal is to scale the runnable weight for the group based on its runnable to
load_avg ratio. The problem with this is it biases us towards tasks that never
go to sleep. Tasks that go to sleep are going to have their runnable_load_avg
decayed pretty hard, which will drastically reduce the runnable weight of groups
with interactive tasks. To solve this imbalance we tweak this slightly, so in
the ideal case it is still the above, but in the interactive case it is
runnable_weight = shares * runnable_weight / load_weight
which will make the weight distribution fairer between interactive and
non-interactive groups.
Signed-off-by: Josef Bacik <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions