*BSD News Article 2365


Return to BSD News archive

Xref: sserve comp.unix.bsd:2409 comp.os.linux:6138 comp.periphs.scsi:6312
Newsgroups: comp.unix.bsd,comp.os.linux,comp.periphs.scsi
Path: sserve!manuel!munnari.oz.au!mips!mips!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!csn!boulder!ophelia!drew
From: drew@ophelia.cs.colorado.edu (Drew Eckhardt)
Subject: Re: Query: Drivers for AHA >1522< ?
Message-ID: <1992Jul23.232138.20172@colorado.edu>
Sender: news@colorado.edu (The Daily Planet)
Nntp-Posting-Host: ophelia.cs.colorado.edu
Organization: University of Colorado at Boulder
References: <2A6B89E3.7DE5@tct.com> <adam.711725819@mcrware> <14hjqoINNr78@agate.berkeley.edu>
Date: Thu, 23 Jul 1992 23:21:38 GMT
Lines: 29

In article <14hjqoINNr78@agate.berkeley.edu> wjolitz@soda.berkeley.edu (William F. Jolitz) writes:
>In article <adam.711725819@mcrware> adam@microware.com (Adam Goldberg) writes:
>>...The 1542 is a bus-mastering controller.  This 1522 is not.  That makes
>>the 1542 much faster (at least in a protected-mode OS like Linux, with
>>properly written drivers).  
>
>One of the reasons that 386BSD works so well with the 1542B is the
>bus-mastering, the advantages of which are lost on DOS. There may
>be a false economy in getting a 1522, because the entire advantage
>of going to SCSI is the bandwidth improvement over the programmed I/O
>AT/IDE controllers. 

If you're talking about sustained transfer rate, it's going to be 
faster to do polled I/O because you don't have the couple of clock
cycles associated with each bus on period - you just crank data 
across the AT bus topspeed, 16 bits at a time.

However, if you can DMA to memory, and replace multiple interrupts with 
a single interrupt, you'll come out ahead in terms of speed because 
you're looking at ~200 clocks overhead for an interrupt on the i386
in protected mode.

SCSI-I also allows you to have one outstanding command per LUN 
(you can have one disk seeking, or transfering to local buffer 
while yoou're transfering data to another disk), which IDE and 
"traditional" disk controllers do not.

This gets you a lot in a multi-disk system.  The current Linux SCSI 
drivers do not support this, the next ones do.