Performance issue

Scott Long
Mon, 09 May 2005 10:07:23 -0000

Ewan Todd wrote:
>>>Whereas, the typical result for the new rig looked more like
>>>
>>>     105.36 real        71.10 user        33.41 sys
>>>    ...
>>>    10548  involuntary context switches
>>>
>>>
>>
>>First of all, make sure that you have WITNESS and INVARIANTS off in your
>>kernel.  You might also want to recompile your kernel with the SMP
>>option turned off.
>>
>>Scott
>
>
> First of all, thanks to Mike Tancsa for suggesting 5.4 RC4 and to Pete
> French for running the test independently on the higher spec machines
> with 5.4 RC4 on them, confirming the system time thing, ruling out an
> AMD problem, dissociating the system time result from the context
> switching, and saving me the trouble of rediscovering the same problem
> on 5.4 RC4.
>
> This is my first foray into the public world of FreeBSD discussion
> lists, and I am encouraged by the helpfulness of the response.
>
> Scott, the 5.3 kernel I had was a essentially a GENERIC release
> kernel, with about 100 options commented out.  WITNESS and INVARIANTS
> are off by default, which I confirmed by looking through `sysctl -a`.
> However, I was curious to see what I would get if I switched them on,
> so I added these options and recompiled the kernel:
>
>   options     KDB
>   options     DDB
>   options     INVARIANTS
>   options     INVARIANT_SUPPORT
>   options     WITNESS
>   options     WITNESS_SKIPSPIN
>
> The result, below, has essentially the same user time (or just less,
> if that makes any sense), but tripled system time.  The context
> switches are consistent with the one-per-10msec I saw before.  Is
> there anything useful I can do while I still have the kernel debug
> options on?
>
> -e
>
>
>       172.29 real        67.53 user       103.07 sys
>      23376  maximum resident set size
>        659  average shared memory size
>      20805  average unshared data size
>        127  average unshared stack size
>       5402  page reclaims
>          0  page faults
>          0  swaps
>          0  block input operations
>          0  block output operations
>          0  messages sent
>          0  messages received
>          0  signals received
>          0  voluntary context switches
>      17234  involuntary context switches
>
>

5.3 ships with SMP turned on, which makes lock operations rather
expensive on single-processor machines.  4.x does not have SMP
turned on by default.  Would you be able to re-run your test with
SMP turned off?

Scott