[git pull] scheduler fixes

Ingo Molnar
2008-03-19T23:05:53Z

Linus, please pull the latest scheduler fixes git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel.git for-linus

[ Note: it touches net/core/sock.c to tweak two socket wakeups there. ]

this tree improves/fixes lat_ctx/lat_pipe/bw_pipe latency/performance on
SMP systems:

.25-rc6 .25-rc6-sched/for-linus
-------------------------------------------------------------
lat_ctx 2 : 1.93 us 0.69 us
lat_pipe : 4.96 us 2.49 us
bw_pipe : 2841.11 MB/sec 3436.61 MB/sec

it also improves the ramp-up phase of sysbench on a quad:

.25-rc6 .25-rc6-sched/for-linus
-------------------------------------------------------------
1: ( 836.64 per sec.) (1216.90 per sec.)
2: (2407.02 per sec.) (2361.12 per sec.)
4: (4468.59 per sec.) (4510.14 per sec.)

( similar improvements were measured on an 8-way and on various
dual boxes as well - a 16way box was largely unchanged. )

these changes also improved some other workloads as well: mysql, apache
and others - and it did not impact some others that we handled well
before (such as kbuild, hackbench and others).

Thanks,

Ingo

------------------>
Ingo Molnar (8):
sched: clean up wakeup balancing, move wake_affine()
sched: clean up wakeup balancing, rename variables
sched: clean up wakeup balancing, code flow
sched, net: socket wakeups are sync
sched: improve affine wakeups
sched: wakeup-buddy tasks are cache-hot
sched: retune wake granularity
sched: tune multi-core idle balancing

include/linux/sched.h | 3 +
include/linux/topology.h | 1 -
kernel/sched.c | 11 +++-
kernel/sched_debug.c | 1 +
kernel/sched_fair.c | 191 ++++++++++++++++++++++++++++------------------
net/core/sock.c | 4 +-
6 files changed, 134 insertions(+), 77 deletions(-)