Subject: Re: NetBSD & 060
To: None <wir95ccv@rzaix340.rz.uni-leipzig.de>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: port-amiga
Date: 10/04/1996 16:54:03
Hello,

   Date: Fri, 4 Oct 1996 16:13:30 +0200 (MESZ)
   From: Stephan Quitzsch <wir95ccv@rzaix340.rz.uni-leipzig.de>

   I tried to get NetBSD1.2beta working with a Cyberstorm MKII 060 Board. It 
   really work but it is surprisingly slow. Dhrystone tests bring only about 
   30-40% than the same test under AmigaOS. Is NetBSD disabling the caches, 
   and if so, is it possible to reenable them?

a) Dhrystone is a surprisingly stupid (for modern CPUs) test. e.g., it
can't distinguish the 3-2-2-2 memory access of the old DraCo boards
from the 2-1-1-1 of the new ones. So you shouldn't use it at all. :-)

b) are you sure you used dhrystone right? You have to make sure the HZ
symbol corresponds to what your libraries' timer functions actually
use.  For "portability", this is set by dhry.h rather than reading it
off the system includes.

c) did you compile with -m68060, to disable "optimizations" which use
the no longer existant 32x32->64bit multiplication to replace a 32 bit
division by a constant?

	***

This said, I have to admit that I didn't enable the branch target
cache. This will have a performance impact, which can be quite large
especially for stupid benchmarks like Dhrystone which have a high
branch-to-total instruction ratio. (for a minimalist delay loop, the
factor could be as high as four).

The reason is that at the time the "feature freeze" for NetBSD-1.2
occured, I had very anomalous behaviour with the BTC on for some
programs. (e.g., gzip would be a lot slower, instead of faster). 

As I couldn't isolate the problem, I left it off. I wouldn't risk a
non-understood loss of a factor of 10 to gain a 20 or 30% on average.

(btw, the store buffer is off, too; this has NO impact in NetBSD, as
there are no cache-inhibited imprecise pages at the moment.)


Regards,
	Ignatios Souvatzis