]> git.baikalelectronics.ru Git - kernel.git/commit
sched: improve affine wakeups
authorIngo Molnar <mingo@elte.hu>
Wed, 19 Mar 2008 00:42:00 +0000 (01:42 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 19 Mar 2008 03:27:53 +0000 (04:27 +0100)
commit9f890df86acdada0aa86549168f4e7f9827d26db
treec7517529ec199d3d9936b4049880a820534d2703
parented3b9eaf92f82a1fcb4e0a942c1d40f4583fcf44
sched: improve affine wakeups

improve affine wakeups. Maintain the 'overlap' metric based on CFS's
sum_exec_runtime - which means the amount of time a task executes
after it wakes up some other task.

Use the 'overlap' for the wakeup decisions: if the 'overlap' is short,
it means there's strong workload coupling between this task and the
woken up task. If the 'overlap' is large then the workload is decoupled
and the scheduler will move them to separate CPUs more easily.

( Also slightly move the preempt_check within try_to_wake_up() - this has
  no effect on functionality but allows 'early wakeups' (for still-on-rq
  tasks) to be correctly accounted as well.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/sched.h
kernel/sched.c
kernel/sched_debug.c
kernel/sched_fair.c