Subject: Re: 2940 & netbsd-current
To: Chris G Demetriou <Chris_G_Demetriou@UX2.SP.CS.CMU.EDU>
From: Justin T. Gibbs <gibbs@freefall.freebsd.org>
List: current-users
Date: 03/28/1996 16:33:41
>> The aic7xxx cards do seem to be significantly faster than
>> the NCR 8XX cards especially with something like a wide Quantum Atlas.
>
>Do you have any idea why that might be?
>
>I.e., i'm wondering about:
>	(1) PCI load caused by script instruction fetches?
>	    (fixed in some newer SIOP variants)
>	(2) the crappy state of the 'ncr' driver?
>etc...

I don't know enough about the NCR to say and the format of the script makes
it difficult to see how efficiently its written.  Some thingsthat might
help you figure this out if you know any information about the NCR:

1) Dedicated processor runs at 40MHz.

2) Local SCB storage for all commands and you only need to "upload" them
if an error occurs (residual, bad sense, etc).  So you usually pay 7
outls pet command to download it.

3) The sequencer is only paused for queing a new command or handling
errors.

4) You can get multiple command completes per interrupt (unlike say a 
1742).

5) The sequencer code has been heavily optimized to reduce command overhead
and actually does almost all of a commands setup in parallel with the
selection phase.  This really shows a difference on things like the Atlas
that have extremely low command overhead since most drives are so slow
the saved 300us or so is lost in the noise.

6) I think I have the last of the race conditions and spec violations out
of the driver.  Many of these bugs wouldn't show up as data corruption or
bus hangs, but in reduced performance.

>cgd

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================