Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 May 1999 09:17:57 -0600 (MDT)
From:      "Justin T. Gibbs" <gibbs@narnia.plutotech.com>
To:        "Gregory P. Smith" <greg@nas.nasa.gov>
Cc:        hardware@FreeBSD.org
Subject:   Re: Support for Symbios vs. Adaptect SCSI
Message-ID:  <199905271517.JAA04842@narnia.plutotech.com>
In-Reply-To: <199905270156.SAA11635@ryouko.nas.nasa.gov>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <199905270156.SAA11635@ryouko.nas.nasa.gov> you wrote:
>> >Do you mean:
>> >
>> >	1) Has fewer bugs?
>> >	2) Makes better use of the hardware capabilities?
>> >	3) Has a maintainer who is willing/able to devote
>> >           more time to the task?
> 
> I can believe 1 & 3, but could you (Justin?) elaborate on 2?  I've
> always been under the impression that everything after the old ISA
> Adaptec 1542CF has been basically riding on Adaptec's brand name to
> justify their cards costing 2-3x as much as the equivilent Symbios
> (NCR) based card.  [You can pick up UW-SCSI 875 based Symbios cards
> for $75 bucks these days]

In general, the PCI interface on the Adaptec chips is unsurpassed
in the industry.  They have larger FIFOs and lower latency than their
competitors, and pretty much work if you follow the supplied schematics.
These were the reasons Pluto chose Adaptec over Symbios for our
motherboard applications where PCI bandwidth is a critical concern.
On the SCSI side of things, the built in RISC core has several features
that reduce DMA overhead and allow DMA prefetch to take advantage of
spare PCI bandwidth. You can setup background DMAs on the secondard DMA
channel to prefetch the next command to be serviced, the next block of
S/G list entries for the current command or other data well before you
need it so that even on a highly utilized PCI bus, you rarely keep SCSI
devices waiting.  They really do know how to design hardware.

Now for typical workstation and server workloads where you don't
have a fully populated PCI bus (Pluto boards can have up to 10
devices per PCI bus), the Symbios parts should be able to provide
performance comensurate with those provided by Adaptec.  The only
factor preventing that, in my opinion, is the structure of the NCR
driver's firmware.  The format of the firmware, which is the
concatenation of several 'C' structures of different types, makes
it extremely difficult to modify unless you understand all of the
strange alignment restrictions and vagaries of this method.  There
are known scalability problems in the data structures used to
represent SCSI transactions in this driver and I have not found
the time to completely understand how the firmware format to address
them.  My plan is to write an assembler for the Symbios scripts
engine so that the firmware is easier to read, modify, and understand.
At that point, I would expect the Symbios parts to be as well
supported under FreeBSD as the Adaptec parts.  I don't expect to
get around to this until late this summer.

--
Justin


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199905271517.JAA04842>