Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 21 May 2003 11:08:34 +0200 | From | Mike Galbraith <> | Subject | Re: [patch] sched-sync-2.5.69-A0 |
| |
At 10:35 AM 5/19/2003 +0200, Ingo Molnar wrote:
>the attached patch fixes the scheduler's sync-wakeup code to be consistent >on UP as well. > >Right now there's a behavioral difference between an UP kernel and an SMP >kernel running on a UP box: sync wakeups (which are only activated on SMP) >can cause a wakeup of a higher prio task, without preemption. On UP >kernels this does not happen. This difference in wakeup behavior is bad.
Cool. That was the cause of some of the radical differences in behavior between smp and up kernels. The sync wakeup in pipe wait for example was the irman process load climbs through the roof problem, and it also affects the ext3 concurrency problem if you have gcc using -pipe. See attached log.
-Mike [before]:# time ./irman Response time measurements (milliseconds) for: 2.5.69 Load Max Min Avg Std. Dev. NULL 0.142 0.009 0.011 0.002 MEMORY 107.040 0.010 0.021 0.996 FILE_IO 310.991 0.010 0.033 2.598 PROCESS 1021.873 0.010 0.053 5.625
real 3m32.588s user 0m28.350s sys 0m21.353s
[before]:# time make -j30 bzImage (ext3, gcc using -pipe) real 2m32.142s user 2m14.505s sys 0m10.685s
[before]:# grep pswp /proc/vmstat pswpin 1448 pswpout 2436
[after]:# time ./irman Response time measurements (milliseconds) for: 2.5.69 Load Max Min Avg Std. Dev. NULL 0.286 0.010 0.011 0.002 MEMORY 103.111 0.010 0.021 0.990 FILE_IO 306.151 0.010 0.033 2.578 PROCESS 359.072 0.010 0.033 0.687
real 2m23.548s user 0m26.160s sys 0m22.940s
[after]:# time make -j30 bzImage (ext3, gcc using -pipe) real 2m35.018s user 2m16.075s sys 0m11.899s
[after]:# grep pswp /proc/vmstat pswpin 19220 pswpout 33019
| ![\](/images/icornerr.gif) |