Date: Sun, 14 Mar 1999 16:25:42 -0500 From: "Chuck O'Donnell" <cao@bus.net> To: "Justin T. Gibbs" <gibbs@plutotech.com> Cc: scsi@FreeBSD.ORG Subject: Re: error messages from bt driver Message-ID: <19990314162542.C11051@milf18.bus.net> In-Reply-To: <199903140053.RAA13024@pluto.plutotech.com>; from Justin T. Gibbs on Sat, Mar 13, 1999 at 05:44:29PM -0700 References: <19990313183436.B11051@milf18.bus.net> <199903140053.RAA13024@pluto.plutotech.com>
index | next in thread | previous in thread | raw e-mail
On Sat, Mar 13, 1999 at 05:44:29PM -0700, Justin T. Gibbs wrote:
> >Thanks for the reply Justin.
> >
> >I tried 5.06I from the Mylex site, but no improvement. Same error
> >messages show up. Any thoughts on other things I can check?
> >
> >Thanks.
> >
> >Chuck
>
> One thing I don't know about on the MultiMasters is how they deal
> with a disk returning queue full status. Your Seagate will only
> handle 64 commands at a time, but we've queued up 191 to the
> Buslogic. Perhaps it will not release the mailbox for a transaction
> that is in the queue full state? This would cause the first error
> message to occur. My guess is that a quirk entry in sys/cam/cam_xpt.c
> limiting the number of tags for your drive to 64 will prevent the
> problem from happening.
Okay, it looks like that did the trick. I reinstalled the original
flash bios (5.07B), edited sys/cam/cam_xpt.c (see attached diffs for
quirk entry below), and rebuilt the kernel.
I don't know if there is a good known way to overload the queue for
testing, but since the daily script seems to be a repeatable way to
trigger the problem, I have been using it as a test by running it 10
times consecutively.
Q: Is there any way to query the driver to find out how many tags are
currently enabled for the drive? e.g., a camcontrol(8) option or some
such? After I rebuilt the kernel and rebooted I couldn't tell for sure
if the drive inquiry data had matched my new quirk entry and correctly
adjusted the queue size for the drive.
Attached below is a diff for the quirk, can you take a look and make
sure I did it correctly?
>
> I'll also contact Mylex to see if they can give me any more information
> about how their controllers react. It's really a shame that they don't
> report queue full status back up to the driver so that we can be smarter
> about limiting the number of commands we send. RAID arrays can really
> make use of the extra tags, so I'd rather not place an artificial limit
> on them.
>
Let me know if there is anything I can do to assist in this...
Thanks very much for your help!
Chuck
*** cam_xpt.c.orig Sat Mar 6 19:39:49 1999
--- cam_xpt.c Sun Mar 14 15:52:13 1999
***************
*** 307,312 ****
--- 307,328 ----
{ T_DIRECT, SIP_MEDIA_FIXED, "SEAGATE", "ST410800*", "71*" },
/*quirks*/0, /*mintags*/0, /*maxtags*/0
},
+ {
+ /*
+ * Explicitly set number of tags for Seagate connected
+ * to BusLogic MultiMaster.
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "SEAGATE", "ST39173*", "*" },
+ /*quirks*/0, /*mintags*/0, /*maxtags*/64
+ },
+ {
+ /*
+ * Explicitly set number of tags for Seagate connected
+ * to BusLogic MultiMaster.
+ */
+ { T_DIRECT, SIP_MEDIA_FIXED, "SEAGATE", "ST34573*", "*" },
+ /*quirks*/0, /*mintags*/0, /*maxtags*/64
+ },
{
/* Broken tagged queuing drive */
{ T_DIRECT, SIP_MEDIA_REMOVABLE, "iomega", "jaz*", "*" },
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990314162542.C11051>
