[PATCH] sched: improve efficiency of sched_fork()
authorPeter Williams <pwil3058@bigpond.net.au>
Tue, 19 Dec 2006 02:48:50 +0000 (12:48 +1000)
committerLinus Torvalds <torvalds@woody.osdl.org>
Thu, 21 Dec 2006 08:11:51 +0000 (00:11 -0800)
Problem:
  sched_fork() has always called scheduler_tick() in some (unlikely)
  circumstances in order to update the current task in light of those
  circumstances.  It has always been the case that the work done by
  scheduler_tick() was more than was required to handle the problem in
  hand but no harm was done except for the waste of a few CPU cycles.

  However, the splitting of scheduler_tick() into two procedures in
  2.6.20-rc1 enables the wasted cycles to be saved as the new procedure
  task_running_tick() does all the work that is required to rectify the
  problem being handled.

Solution:
  Replace the call to scheduler_tick() in sched_fork() with a call to
  task_running_tick().

Signed-off-by: Peter Williams <pwil3058@bigpond.com.au>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/sched.c

diff --cc kernel/sched.c
Simple merge