Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Mar 2002 21:05:48 -0700
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Michael Smith <msmith@freebsd.org>
Cc:        Lukas Ertl <l.ertl@univie.ac.at>, freebsd-scsi@freebsd.org
Subject:   Re: ciss driver and tagged queuing
Message-ID:  <20020330210548.A44448@panzer.kdm.org>
In-Reply-To: <200203292216.g2TMGWN01304@mass.dis.org>; from msmith@freebsd.org on Fri, Mar 29, 2002 at 02:16:32PM -0800
References:  <20020329081113.A28622@panzer.kdm.org> <200203292216.g2TMGWN01304@mass.dis.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 29, 2002 at 14:16:32 -0800, Michael Smith wrote:
> > > da1 at ciss1 bus 0 target 0 lun 0
> > > da1: <RAID 5 OK > Fixed Direct Access SCSI-0 device
> > > da1: 135.168MB/s transfers
> > > da1: 416780MB (853565580 512 byte sectors: 255H 32S/T 39067C)
> > > da0 at ciss0 bus 0 target 0 lun 0
> > > da0: <RAID 1 OK > Fixed Direct Access SCSI-0 device
> > > da0: 135.168MB/s transfers
> > > da0: 17359MB (35553120 512 byte sectors: 255H 32S/T 4357C)
> > 
> > The problem is that the inquiry data doesn't indicate that the arrays
> > support tagged queueing, so you only get one tag at a time.
> 
> The arrays don't support tagged queueing, but they do support multiple 
> outstanding commands.
> 
> I don't want to have to handle tags; I just want CAM to keep giving me 
> commands until I ask it to stop. 8)

You might try using the same method you used on the mly driver -- adjusting
the number of untagged openings to be the maximum number of outstanding
commands.

You've currently got the number of tagged openings set to the maximum
number of outstanding commands and the number of untagged openings set to
1.

> One other complication is that the limit on outstanding commands is 
> per-adapter not per-array, so the automatic tag-backoff that CAM does 
> won't work correctly under load.

I think what you may need to do is just send the CCB back with a
CAM_REQUEUE_REQ status if you're over your limit.  That's what the aic7xxx
driver seems to do.

> Any suggestions on improved behaviour here would be welcome.

Justin would know better how the queueing stuff works, but I think if you
swap the tagged/untagged parameters around and send back excess commands
with CAM_REQUEUE_REQ as the status, it might do the trick.

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?20020330210548.A44448>