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>