Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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




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