aboutsummaryrefslogtreecommitdiff
path: root/scripts/kernel-doc
diff options
context:
space:
mode:
authorChen, Kenneth W <[email protected]>2006-06-27 02:54:28 -0700
committerLinus Torvalds <[email protected]>2006-06-27 17:32:44 -0700
commitc96d145e71c5c84601322d85748512e09d7b325f (patch)
tree4762f8aa4c970295a33afbc4ee506c72d7216073 /scripts/kernel-doc
parent7a8e2a5ea4cf43c0edd6db56a156549edb0eee98 (diff)
[PATCH] sched: fix smt nice lock contention and optimization
Initial report and lock contention fix from Chris Mason: Recent benchmarks showed some performance regressions between 2.6.16 and 2.6.5. We tracked down one of the regressions to lock contention in schedule heavy workloads (~70,000 context switches per second) kernel/sched.c:dependent_sleeper() was responsible for most of the lock contention, hammering on the run queue locks. The patch below is more of a discussion point than a suggested fix (although it does reduce lock contention significantly). The dependent_sleeper code looks very expensive to me, especially for using a spinlock to bounce control between two different siblings in the same cpu. It is further optimized: * perform dependent_sleeper check after next task is determined * convert wake_sleeping_dependent to use trylock * skip smt runqueue check if trylock fails * optimize double_rq_lock now that smt nice is converted to trylock * early exit in searching first SD_SHARE_CPUPOWER domain * speedup fast path of dependent_sleeper [[email protected]: cleanup] Signed-off-by: Ken Chen <[email protected]> Acked-by: Ingo Molnar <[email protected]> Acked-by: Con Kolivas <[email protected]> Signed-off-by: Nick Piggin <[email protected]> Acked-by: Chris Mason <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'scripts/kernel-doc')
0 files changed, 0 insertions, 0 deletions