Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 09 Mar 2006 08:38:25 -0800
From:      Nate Lawson <nate@root.org>
To:        Eric Anderson <anderson@centtech.com>
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: scsi-target and the buffer cache
Message-ID:  <44105A01.5080309@root.org>
In-Reply-To: <440F5141.7010002@centtech.com>
References:  <4395BF04.50101@centtech.com> <43960F55.3010508@root.org>	<43975926.1010302@centtech.com> <43975F5F.5080901@samsco.org> <439782AA.6000408@root.org> <4397B731.6010308@centtech.com> <4397B82C.5020004@samsco.org> <4397EBC7.9030105@root.org> <440F5141.7010002@centtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[mailing list changed to scsi@]

Eric Anderson wrote:
> Nate Lawson wrote:
>> Scott Long wrote:
>>> Eric Anderson wrote:
>>>
>>>> Nate Lawson wrote:
>>>>> Agree 100%.  While having it in usermode means there are boundary 
>>>>> crossings that increase per-transaction latency, the actual bulk 
>>>>> data transfer is via zero-copy IO and you should be able to exceed 
>>>>> the data transfer rates of several 10K RPM drives on decent hardware.
>>>>
>>>> Ok, great.. Now, will scsi_target work ok with raw devices, or only 
>>>> files?  (although I'm not sure theres all that much difference really).
>>>>
>>>
>>> You can write your userland code to use whatever files or devices you
>>> want.  Are you talking about the scs_target.c code in
>>> /usr/share/examples?  That's just a skeletal example that you can use
>>> as a starting point for your own work.
>>
>> No, it's not just a skeletal example.  You can point it at a raw 
>> device as the backing store file and it will work as a block device 
>> (i.e. RBC command set).  It has been tested as working at least 
>> moderately fast over SCSI, FC, and firewire.
>>
> 
> I'm finally getting around to playing with this, and I'm having some 
> problems.  First, I can't seem to make one isp card in target mode and 
> the other an initiator.  I've messed with adding the following to 
> loader.conf:
> 
> hint.isp.0.role="initiator"
> hint.isp.1.role="target"
> 
> that still doesn't show my currently connected fiber channel devices on 
> the initiator side.
> 
> I've tried a few different kernel options, currently I have:
> 
> options         ISP_TARGET_MODE=1
> device          targ
> 
> I've also tried just:
> 
> options         ISP_TARGET_MODE
> 
> and that doesn't seem to allow me to select one either.

hints aren't needed.  Here's an intro on how to use it:
http://root.org/~nate/freebsd/scsi/README.targ

The same card is in target or initiator mode based on the scsi_target 
user program.  When it's running, target mode is enabled.

> Anyhow, I've compiled scsi_target (from 
> /usr/share/examples/scsi_target), and tried to run it using a 20gb file 
> as the target, and still I can't seem to get it working.
> Is there a doc somewhere I need to read?
> 
> Also - as a side note, the Makefile for scsi_target seems like it's 
> missing a path variable in order to do a make install, but that's not a 
> real issue.

There was some debate when I imported it whether to make it an example 
or usr.sbin.  Given the lack of updates (i.e. ki_sig or whatever), I 
probably should have put it somewhere else.

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44105A01.5080309>