Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Feb 2001 20:22:56 -0800 (PST)
From:      Tom Samplonius <tom@sdf.com>
To:        "Kenneth D. Merry" <ken@kdm.org>
Cc:        Mike Smith <msmith@FreeBSD.ORG>, freebsd-scsi@FreeBSD.ORG
Subject:   Re: Tags and the mly driver
Message-ID:  <Pine.BSF.4.05.10102042009270.14471-100000@misery.sdf.com>
In-Reply-To: <20010204213541.A79966@panzer.kdm.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sun, 4 Feb 2001, Kenneth D. Merry wrote:

> >   After increasing the number of tags to 4, I did run "camcontrol tags da0
> > -v" repeatedly, and noticed that dev_active varied between 0 and 4.
> > However, da0 hung a short while later, just after outputting an error
> > message from the mly driver.
> 
> Were there any error messages when it hung?  Does the device claim to
> support tagged queueing in its inquiry information?  (dmesg or camcontrol
> inquiry da0 should tell you)
>
> Since we can't determine via camcontrol negotiate whether it supports
> tagged queueing, we can look at the inquiry data.
> 
> If it doesn't support tagged queueing, then increasing the tags is probably
> a bad idea.  We should probably have a check in the transport layer that
> rejects any attempt to raise the number of tags above 1 if the device
> doesn't support tagged queueing.

  Yes, the mly driver reported an error.  I mentioned it in a previous
e-mail, and it eludes me now.  Something about receiving a completion for
an invalid/unknown slot.

  If it doesn't support tags, wouldn't it die immediately, rather than try
to use them for a minute or so, and then hang the disk?  Since, the tag
handling is likely done completely within the mly driver, it seems like
something could be done to at least prevent the hang from occuring even if
tags can't be used.

  "camcontrol inquiry da0" isn't helpful:

pass0: <RAID 5 online > Fixed Direct Access SCSI-2 device
pass0: Serial Number
camcontrol: error getting transfer settings
  

  dmesg isn't much more helpful:

da0 at mly0 bus 2 target 0 lun 0
da0: <RAID 5 online > Fixed Direct Access SCSI-2 device
da0: 34680MB (71024640 512 byte sectors: 255H 63S/T 4421C)



  I do get the following messages just before the probe messages:

mly0: physical device 0:8  gone
mly0: physical device 0:8  gone
mly0: physical device 0:8  gone
mly0: physical device 0:8  gone
mly0: physical device 0:8  gone

  I've always assumed this is the SAF-TE device builtin the enclosure. The
Mylex card deals with the SAF-TE device events directly, and I think this
is an attempt by the mly driver to attach it.  Again, lots of assumptions.
Either way, it seems harmless.  Everything is 100% stable as long as tags
= 1.


> > > {vladivostok:/usr/home/ken:22:0} camcontrol negotiate cd0 -v
> > 
> >   "camcontrol negotiate da0 -v" output:
> > 
> > Current Parameters:
> > camcontrol: XPT_GET_TRANS_SETTINGS CCB failed, status 0x6
> > 
> > 
> >   I guess "negotiate" isn't supportted by the mly driver.  That seems
> > quite typical for virtual disks accessed via a RAID driver.
> 
> Yep (from sys/dev/mly/mly_cam.c):
> 
>     default:            /* we can't do this */
>         debug(2, "unspported func_code = 0x%x", ccb->ccb_h.func_code);
>         ccb->ccb_h.status = CAM_REQ_INVALID;
>         break;
>     }
> 
> > The dpt
> > driver does the same thing, but the dpt driver does seem to be using up to
> > two tags (output from a different system with a DPT SmartRAID IV card):
> > 
> > (pass0:dpt0:0:0:0): dev_openings  2
> > (pass0:dpt0:0:0:0): dev_active    0
> > (pass0:dpt0:0:0:0): devq_openings 2
> > (pass0:dpt0:0:0:0): devq_queued   0
> > (pass0:dpt0:0:0:0): held          0
> > (pass0:dpt0:0:0:0): mintags       0
> > (pass0:dpt0:0:0:0): maxtags       255
> 
> There is a quirk entry for the DPT volumes to disable serial number
> inquiries and probing multiple luns.  It bogusly sets mintags to 0, though.
> In general mintags and maxtags should be 0 and 0 for devices that don't
> support tagged queueing, 2 and 255 for devices that do, or some other range
> of values for devices that can't properly handle queue fulls.
> 
> So the DPT quirk entry should be changed, but how it should be changed
> depends on whether or not it supports tagged queueing.  What does dmesg or
> camcontrol inquiry say about either array?
> 
> That should tell you whether the device itself believes it supports tagged
> queueing.

  I don't much care about the dpt issue as much as the mly one.  The dpt
driver at least seems to be support two outstanding IOs, which is much
better than one.  I've brought dpt as another example of a virtual SCSI
disk driver.  The dpt driver, limited to 2 openings, seems quite stable.
I've never seen a problem with it under 3.5-STABLE.  I've never attempted
to increase the number of tags though.

  "camcontrol inquiry da0", where da0 is attached via a dpt driver:

pass0: <DPT RAID-1 07M0> Fixed Direct Access SCSI-2 device
camcontrol: error getting transfer settings


  

> Ken
> -- 
> Kenneth Merry
> ken@kdm.org
> 
> 



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?Pine.BSF.4.05.10102042009270.14471-100000>