cvs commit: src/sys/kern kern_mutex.c

Bruce Evans brde at optusnet.com.au
Thu Jun 7 07:17:31 UTC 2007


On Wed, 6 Jun 2007, Kip Macy wrote:

> Bruce -
> Can you also say how many runs do you do and how much variance there
> is between runs?

Only 1 or 2 runs for a quick test.  I always reboot the client before
even most quick tests.  Maximum variance is ~0.1% on a good day and
~0.5% on a bad or different day provided most parameters are held
constant.  The main parameters that aren't quite held constant are the
temperature, the server load, and pagezero activity -- pagezero activity
is very dependent on initial conditions and/or races.

I sometimes repeat the makeworld in a loop without rebooting.  This
gives more variance for the warm state of the client after the first
run of course, and more for subsequent runs too since the initial
cache(s) state is more variable.  Results of the most recent runs of
this:

(Cold client):
       834.39 real      1300.21 user       192.19 sys
    1323006  voluntary context switches
    1526348  involuntary context switches

(Warm client):
       832.52 real      1298.68 user       193.07 sys
    1290718  voluntary context switches
    1456190  involuntary context switches

This is with 4BSD, no PREEMPTION, and pagezero disabled.  With the
same kernel but pagezero not disabled, the time for a cold client was
~843 seconds real (somehow down from 847 yesterday).  With pagezero
working correctly, the time for a cold client would be

 	~= 834 seconds(above time) - 6 seconds(time saved by pagezero)
 	 = 828 seconds

(best time was 827+ seconds).

The next run will have pagezero resetting its priority when this priority
gets clobbered.

Bruce


More information about the cvs-all mailing list