]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commitd947ecfceedc41d50dfdc8c9169f8a3b98d9d67d
tree3795bf4735650e4a1af417f7c97f1d7103401308
parent256737ef617961e578ed642ab5da269b7fc0ba6c
[PATCH] sched: improve efficiency of sched_fork()

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