sched: add /proc/sys/kernel/sched_compat_yield
authorIngo Molnar <mingo@elte.hu>
Wed, 19 Sep 2007 21:34:46 +0000 (23:34 +0200)
committerIngo Molnar <mingo@elte.hu>
Wed, 19 Sep 2007 21:34:46 +0000 (23:34 +0200)
commit1799e35d5baab6e06168b46cc78b968e728ea3d1
treecccf64a62fa9106aa18253371b675925c0582bab
parenta88a8eff1e6e32d3288986a9d36c6a449c032d3a
sched: add /proc/sys/kernel/sched_compat_yield

add /proc/sys/kernel/sched_compat_yield to make sys_sched_yield()
more agressive, by moving the yielding task to the last position
in the rbtree.

with sched_compat_yield=0:

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  2539 mingo     20   0  1576  252  204 R   50  0.0   0:02.03 loop_yield
  2541 mingo     20   0  1576  244  196 R   50  0.0   0:02.05 loop

with sched_compat_yield=1:

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  2584 mingo     20   0  1576  248  196 R   99  0.0   0:52.45 loop
  2582 mingo     20   0  1576  256  204 R    0  0.0   0:00.00 loop_yield

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
include/linux/sched.h
kernel/sched.c
kernel/sched_fair.c
kernel/sysctl.c