Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jul 1995 13:14:49 -0700
From:      "& freefall.cdrom.com" <root@freefall.cdrom.com>
To:        Julian Elischer <julian@ref.tfs.com>
Cc:        stratlif@grail.cba.csuohio.edu (steven ratliff), freebsd-hackers@freebsd.org
Subject:   Re: SCSI drivers 
Message-ID:  <199507182014.NAA11391@freefall.cdrom.com>
In-Reply-To: Your message of "Mon, 17 Jul 95 09:56:54 PDT." <199507171656.JAA11318@ref.tfs.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
>we already do most of this..
>

...

>>   BusLogic SCSI host adapters directly implement SCSI-2 tagged queuing, and
>>   so support has been included in this driver to utilize tagged queuing
>>   with any target devices that report the tagged queuing capability.
>>   SCSI-2 tagged queuing allows for multiple outstanding commands to be
>>   issued to each target device, and can improve I/O performance
>>   substantially.  In addition, BusLogic's Strict Round Robin Mode is used
>>   to optimize host adapter performance, and scatter/gather I/O can support
>>   as many segments as can be effectively utilized by the I/O subsystem.
>we've done most of this since day 1
>by default we are supporting 4 parallel operations passed to each disk.

Few, if any, of the drivers utilize 4 parallel operations per device.
Tagged queuing needs to be implemented in a more general fashion with
proper per device queues so that conditions like QUEUE FULL can be handled
correctly.

>> o Error Recovery
>> 
>>   This driver implements extensive error recovery procedures.  When the
>>   higher level parts of the SCSI subsystem request that a command be reset,
>>   a bus device reset is first sent to the target device.  If two bus device
>>   resets have been attempted and no command to the device has completed
>>   successfully, then a host adapter hard reset and SCSI bus reset is
>>   performed.  SCSI bus resets caused by other devices and detected by the
>>   host adapter are also handled by issuing a hard reset to the host adapter
>>   and full reinitialization.  This strategy should improve overall system
>>   robustness by preventing individual errant devices from causing the
>>   system as a whole to lockup or crash, and thereby allowing a clean
>>   shutdown and restart after the offending component is removed.

>we need to do more work on this part, but the basics are in place

One of the big things missing here is a sequence id on commands so that 
when a bus reset occurs, the commands can be "played back" in the original
order.  This is critical if any sequential access device gets reset.  The
work to do proper a BUS DEVICE RESET to timed out devices has already begun
on the aic7xxx driver and I am currently reviewing code from Dan Eischen
that does almost all of this.  Unfortunately, I don't believe that proper
recovery methods are being worked on for the other drivers.

>> o Shared Interrupts Support
>> 
>>   On systems that support shared interrupts, any number of BusLogic host
>   adapters may share the same interrupt request channel.  This driver scans
>>   all registered BusLogic host adapters whenever an interrupt is handled on
>>   any interrupt channel assigned to a BusLogic host adapter.

>Our system doesn't support it...
>the same (well an earlier version of it) driver DOES share interrupts 
>on OSF1/386 (the OS supports shared interrupts)

We should support it for EISA and we do support it for PCI.  What ever
became of the eisa config code that you were working on?  The problem 
with the buslogic driver is that it ID's the card through an ISA probe
so shared interrupts are not allowed.

>> o Wide SCSI Support
>> 
>>   All BusLogic host adapters share a common programming interface, except
>>   for the inevitable improvements and extensions as new models are
>>   released, so support for Wide SCSI data transfer has automatically been
>>   available in existing drivers.  This driver adds explicit support for up
>>   to 16 Device IDs and 64 Logical Units, to fully exploit the capabilities
>>   of the newest BusLogic Wide SCSI host adapters.
>this is not an issue the the BL driver under
>FreeBSD but the generic SCSI code. We already support 16 devices.. it's needed
>for the wide NCR and adaptec adapters as well.

We still don't probe above ID 7.

>Having said all that it does highlight the fact that I've been concentrating
>on work and not FreeBSD, and that a major SCSI cleanup is becoming 
>needed.. This seems to happen every 9 months or so. since I wrote it
>in 1991, it's been through 5 rewrites and definitly needs a new one about now.
>.

Peter Dufault and I are discussing many of these issues right now, so feel
free to join in. :)

>julian

--
Justin T. Gibbs
===========================================
  Software Developer - Walnut Creek CDROM
  FreeBSD: Turning PCs into workstations
===========================================



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