Subject: Re: Problems with ccd (960413)
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Justin T. Gibbs <gibbs@freefall.freebsd.org>
List: current-users
Date: 05/15/1996 16:23:05
>...so, my question is, why doesn't the ahc driver queue these extra 
>requests in software, rather than insisting on plopping all of them in 
>the aic's memory at once?  When the ahc driver sees that a command is 
>complete (and the SCBs free), it can immediately load the next request 
>pending in the software queue.

If you look at the SCB paging code, I already have a very complex
queueing strategy in place.  For the paging to work, I must have
the requests queued at the controller level since a request can
be paged out many times before it completes.  So why don't I queue
scsi_xfer structures when I'm out of SCBs?  The gain in queueing
at the driver level is small, it adds complexity to all drivers,
and the upper level SCSI code already has a queueing mechanism.
Why queue at multiple levels, tying up shared resources?  Perhaps
the 5380 author felt that since only one transaction can be active
at a time, that the small increase in turnaround time that is
gained by queuing locally was worth the effort.  I'd like to
keep that decision in the hands of the device driver author.

>----save the ancient forests - http://www.bayarea.net/~thorpej/forest/----
>Jason R. Thorpe                                       thorpej@nas.nasa.gov
>NASA Ames Research Center                               Home: 408.866.1912
>NAS: M/S 258-6                                          Work: 415.604.0935
>Moffett Field, CA 94035                                Pager: 415.428.6939

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