diff options
author | 2006-12-19 12:48:50 +1000 | |
---|---|---|
committer | 2006-12-21 00:11:51 -0800 | |
commit | bc947631d1d532c758f8fcbdeb1f7fc2f4c863f8 (patch) | |
tree | 3795bf4735650e4a1af417f7c97f1d7103401308 /kernel/workqueue.c | |
parent | [PATCH] x86_64: fix boot time hang in detect_calgary() (diff) | |
download | linux-rng-bc947631d1d532c758f8fcbdeb1f7fc2f4c863f8.tar.xz linux-rng-bc947631d1d532c758f8fcbdeb1f7fc2f4c863f8.zip |
[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>
Diffstat (limited to 'kernel/workqueue.c')
0 files changed, 0 insertions, 0 deletions