Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Sep 2002 17:30:19 -0700 (PDT)
From:      Nate Lawson <nate@root.org>
To:        "John S. Bucy" <bucy@ece.cmu.edu>
Cc:        scsi@freebsd.org
Subject:   Re: New scsi_target code
Message-ID:  <Pine.BSF.4.21.0209061723010.5707-100000@root.org>
In-Reply-To: <20020905165734.GE10500@catalepsy.pdl.cmu.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 5 Sep 2002, John S. Bucy wrote:
> Cool!  I've been working on this off and on on a research project at
> CMU.  I believe that I've run into the same timeouts/hangs.  I've
> wanted to use isp instead of ahc but the last time I tried it --
> probably 6 months ago now -- I couldn't get isp to do target mode.  I
> tried several different adaptec cards -- 2940UW/U2W/29160/etc -- and
> was never able to get rid of the timeouts.

isp can do target mode.  Last time I used it, there were problems with
residuals (i.e. CTIO transfers > 8-12k).  Matt may have more recent
information on this.
 
> I don't remember right now but I think that there were one or two
> commands -- i.e. TUR -- that I handled in kernel rather than going
> down to userspace but I doubt that that extra latency is the cause of
> the timeouts..

In this driver, all commands are handled in usermode, which simplifies the
data path a lot.

> Are you doing tagged queueing?  I was in the midst of hacking on that
> when I got preempted to work on another project.  I had sort of a
> hacked way of dealing with it; I pass the whole CDB through the ioctl
> and only pass bus-transfer data through read() and write().  I then added
> an ioctl to set the tag that the next read() or write() data transfer
> goes with and there's an array in the driver that keeps up with all of
> the outstanding commands. 

This driver passes the CCBs (~30-120 bytes) through read/write and the
data through the cam_periph_mapmem() function directly to the SIM.  Tagged
queueing will be handled fully in usermode.

There is a command line option to enable tagged queueing but it is not
fully implemented.  It advertises the capability in the inquiry response
but does not implement the subsequent mode sense/select.  Thus, I do not
test with tagged queuing yet.

> I'll be working on it again this fall and will definitely be
> interested in incorporating others' work with mine; my lab wants to
> release our code as soon as we think its stable enough to be useful to
> other research projects.

Great.  Any testing or comments on the driver would be nice.

-Nate


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.21.0209061723010.5707-100000>