diff options
author | Mike Galbraith <efault@gmx.de> | 2010-03-11 17:15:51 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-03-11 18:32:50 +0100 |
commit | e12f31d3e5d36328c7fbd0fce40a95e70b59152c (patch) | |
tree | 3eaee7fede5ba830395d2e527fdfe60f1aba73f4 /kernel/sched_debug.c | |
parent | b42e0c41a422a212ddea0666d5a3a0e3c35206db (diff) | |
download | linux-e12f31d3e5d36328c7fbd0fce40a95e70b59152c.tar.gz linux-e12f31d3e5d36328c7fbd0fce40a95e70b59152c.tar.bz2 linux-e12f31d3e5d36328c7fbd0fce40a95e70b59152c.zip |
sched: Remove avg_overlap
Both avg_overlap and avg_wakeup had an inherent problem in that their accuracy
was detrimentally affected by cross-cpu wakeups, this because we are missing
the necessary call to update_curr(). This can't be fixed without increasing
overhead in our already too fat fastpath.
Additionally, with recent load balancing changes making us prefer to place tasks
in an idle cache domain (which is good for compute bound loads), communicating
tasks suffer when a sync wakeup, which would enable affine placement, is turned
into a non-sync wakeup by SYNC_LESS. With one task on the runqueue, wake_affine()
rejects the affine wakeup request, leaving the unfortunate where placed, taking
frequent cache misses.
Remove it, and recover some fastpath cycles.
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1268301121.6785.30.camel@marge.simson.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched_debug.c')
-rw-r--r-- | kernel/sched_debug.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c index 20b95a420fec..8a46a719f367 100644 --- a/kernel/sched_debug.c +++ b/kernel/sched_debug.c @@ -407,7 +407,6 @@ void proc_sched_show_task(struct task_struct *p, struct seq_file *m) PN(se.exec_start); PN(se.vruntime); PN(se.sum_exec_runtime); - PN(se.avg_overlap); nr_switches = p->nvcsw + p->nivcsw; |