diff options
author | Mike Galbraith <bitbucket@online.de> | 2013-01-28 12:19:25 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-02-04 20:07:24 +0100 |
commit | e0a79f529d5ba2507486d498b25da40911d95cf6 (patch) | |
tree | 469947cd4407877ba69aa474cdfed0f2bda61d92 /kernel/sched/core.c | |
parent | 60334caf37dc7c59120b21faa625534a6fffead0 (diff) | |
download | lwn-e0a79f529d5ba2507486d498b25da40911d95cf6.tar.gz lwn-e0a79f529d5ba2507486d498b25da40911d95cf6.zip |
sched: Fix select_idle_sibling() bouncing cow syndrome
If the previous CPU is cache affine and idle, select it.
The current implementation simply traverses the sd_llc domain,
taking the first idle CPU encountered, which walks buddy pairs
hand in hand over the package, inflicting excruciating pain.
1 tbench pair (worst case) in a 10 core + SMT package:
pre 15.22 MB/sec 1 procs
post 252.01 MB/sec 1 procs
Signed-off-by: Mike Galbraith <bitbucket@online.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1359371965.5783.127.camel@marge.simpson.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched/core.c')
0 files changed, 0 insertions, 0 deletions