Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Feb 2001 21:12:39 -0700
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Mike Smith <msmith@FreeBSD.ORG>
Cc:        Tom Samplonius <tom@sdf.com>, freebsd-scsi@FreeBSD.ORG
Subject:   Re: Tags and the mly driver
Message-ID:  <20010207211239.A7966@panzer.kdm.org>
In-Reply-To: <200102080411.f184BH907296@mass.dis.org>; from msmith@FreeBSD.ORG on Wed, Feb 07, 2001 at 08:11:17PM -0800
References:  <20010205155730.A85912@panzer.kdm.org> <200102080411.f184BH907296@mass.dis.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 07, 2001 at 20:11:17 -0800, Mike Smith wrote:
> > > How do we go about telling the transport layer that multiple commands per 
> > > target is OK, but that we don't care about tags? 
> > 
> > There are two numbers that get passed in to cam_sim_alloc(), the maximum
> > number of untagged commands and the maximum number of tagged commands per
> > device.
> 
> 
> 	cam_sim_alloc(mly_cam_action, 
> 		      mly_cam_poll, 
> 		      "mly", 
> 		      sc,
> 		      device_get_unit(sc->mly_dev), 
>  max untagged ->      1,
>  max tagged   ->      sc->mly_controllerinfo->maximum_parallel_commands,
> 		      devq)

Correct.

> > Since the inquiry data from the Mylex array doesn't claim that it supports
> > tagged queueing, the transport layer uses the number of untagged commands
> > to determine how many transactions to send down at a time.
> 
> Ah, ok.  Since I create a separate sim for each channel, and since the 
> array devices are on virtual channels separate from the passthrough 
> devices, it should be relatively straightforward to adjust this 
> accordingly so that the untagged command limit is raised for the array 
> devices.

That'll work.

> > > Actually, the driver should probably block attempts to access the 
> > > enclosure device as well as disks listed in the array config, since the 
> > > controller is meant to handle these.  The driver doesn't actually attach 
> > > to it - this is the generic CAM code. 
> > 
> > You could probably return selection timeouts for any device you didn't want
> > CAM to talk to, if you have a way of knowing which devices those are.  That
> > would keep CAM from trying to talk to it.
> 
> This is how I currently handle the disks that are part of the array.

Cool!

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?20010207211239.A7966>