Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Feb 2000 07:35:22 -0700 (MST)
From:      "Justin T. Gibbs" <gibbs@narnia.plutotech.com>
To:        Chris Johnson <cjohnson@palomine.net>
Cc:        scsi@FreeBSD.org
Subject:   Re: BT-948 timeouts
Message-ID:  <200002071435.HAA43271@narnia.plutotech.com>
In-Reply-To: <20000206141744.A2557@palomine.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <20000206141744.A2557@palomine.net> you wrote:
> I just installed 3.4-RELEASE (and subsequently updated it to 3.4-STABLE), and I
> get lots of this kind of thing:
> 
> da0 at bt0 bus 0 target 6 lun 0
> da0: <QUANTUM FIREBALL SE4.3S PJ0A> Fixed Direct Access SCSI-2 device
> da0: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing Enabled
> da0: 4110MB (8418816 512 byte sectors: 255H 63S/T 524C)

The buslogic cards don't give any indication of the "queue full" condition.
This means that CAM cannot know when to reduce the number of commands
sent to a device if it can only handle a few.  My guess is that the
buslogic firmware is not gracefully dealing with the queue full
condition so we see timeouts.  My hunch is that if you forced the
number of concurrent transactions down to 8 (what I recall is the
limit for this drive), then your timeouts will cease.  You can
do this with the "camcontrol tags" command.

In the case of the Linux driver, the greatest number of tags it
will automatically assign to any one device is 31 (typically
a range of 10-31 tags).  You can manually bump this up to
64, but that is the max.  CAM on the other hand, has a round-robin
scheduler to maintain tag fairness, so if there is only one
device active on the bus, it will be allowed to consume all
controller resources unless there is a lower, per-device, limit
in place.  In the current FreeBSD driver, we don't limit the
per-device count at all.  My guess is that this difference in
algorithms accounts for why Linux seems to work.

--
Justin


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




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