Subject: Re: 4m status?
To: Peter Galbavy <peter@wonderland.org>
From: Aaron Brown <abrown@eecs.harvard.edu>
List: port-sparc
Date: 05/23/1996 07:56:58
On Thu, 23 May 1996, Peter Galbavy wrote:
> > Don't forget, though, that a "GENERIC" kernel is much less efficient than
> > an architecture-specific kernel, since a bunch of the pmap (memory 
> > management) stuff and trap vectoring/interrupt processing goes through
> > jump tables on a GENERIC kernel instead of direct calls in an 
> > architecture-specific kernel. Moral: for convenience, use GENERIC; for
> > performance, compile-your-own SUN4M specific kernel.
> 
> Have you any idea of what the performance impact is in "real" terms ?

No, I haven't had a chance to measure it. But it is probably noticeable:
using a GENERIC kernel (1) increases code size, thus decreasing cache
locality, (2) adds a lot of "if (cputyp == blah)" tests which involve
extra comparisons and branchings, and (3) requires an extra jump on each
VM operation and inserts comparisons and/or jumps on several types of 
trap.

Also, the recent GENERIC kernel config file turns off sync negotiation and
reconnection on SCSI devices, which will significantly slow things down;
the driver works fine on the SS20 esp chip, so you can safely reenable
these (unless you've got weird disk hardware) to get another big performance
boost.

--Aaron