Subject: Re: VM_Faults
To: Michael L. VanLoon -- HeadCandy.com <michaelv@HeadCandy.com>
From: Justin T. Gibbs <gibbs@freefall.freebsd.org>
List: port-i386
Date: 05/20/1996 11:48:04
>
>>> If you have an Adaptec or BusLogic PCI SCSI controller you can borrow,
>>> you might also try that in the machine.  Note that the Adaptec driver
>>> also has some bugs of its own.
>
>>If this means following problem
>>	ahc0: Can't malloc SCB
>>	sd2: not queued, error 5
>>BusLogic driver also has same problem, and IMHO, this is not driver problem,
>>but MI SCSI problem.
>
>I was not aware that this was a general problem with all SCSI
>adapters.  I had never heard of it happening on other cards.  Is this
>a new problem?

The not queued error has existed for some time.  Why the driver cannot
demand allocate its 16 SCBs may be another (newer?) problem.

>What does it take to trigger it?  I've certainly never seen anything
>like that happen on my BT747.  Am I just not pushing it hard enough?

The Buslogic driver only allows one transaction to be queued to a device
at a time, so even with a full Wide bus, you only have 16 transactions
open at once.  The Buslogic driver also allocates all of its CCB
space at probe time (or at least it used to) and it has more than 16
of them, so the problems in the MI SCSI system that occur when
resources are exhausted are never seen.  With the 2940, you have
16 SCBs demand created and with tagged queuing as many transactions
as you want going out to each target (currently 8), so you can
easily exhaust the pool of SCBs with just a few targets.

In case it's confusing, CCBs != SCBs, but they are the same in that
they are both per transaction resources that must be aquired before
you can queue a command to the controller.

>-----------------------------------------------------------------------------
>  Michael L. VanLoon                                 michaelv@HeadCandy.com
>        --<  Free your mind and your machine -- NetBSD free un*x  >--
>    NetBSD working ports: 386+PC, Mac 68k, Amiga, Atari 68k, HP300, Sun3,
>        Sun4/4c/4m, DEC MIPS, DEC Alpha, PC532, VAX, MVME68k, arm32...
>    NetBSD ports in progress: PICA, others...
>
>   Roll your own Internet access -- Seattle People's Internet cooperative.
>                  If you're in the Seattle area, ask me how.
>-----------------------------------------------------------------------------

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