All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <michaelc@cs.wisc.edu>
To: Vladislav Bolkhovitin <vst@vlnb.net>
Cc: James Bottomley <James.Bottomley@SteelEye.com>,
	johan@capvert.se, iscsitarget-devel@lists.sourceforge.net,
	mingz@ele.uri.edu, stgt <stgt-devel@lists.berlios.de>,
	Robert Whitehead <WRWHITEHEAD@novell.com>,
	scst-devel@lists.sourceforge.net, linux-scsi@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: stgt a new version of iscsi target?
Date: Sat, 10 Dec 2005 12:07:33 -0600	[thread overview]
Message-ID: <439B1965.90603@cs.wisc.edu> (raw)
In-Reply-To: <439AF52B.7060203@vlnb.net>

Vladislav Bolkhovitin wrote:
> James Bottomley wrote:
> 
>> On Fri, 2005-12-09 at 18:29 +0300, Vladislav Bolkhovitin wrote:
>>
>>>> Additionally, it's perfectly possible for all of this to be done zero
>>>> copy on the data.  A user space target mmaps the data on its storage
>>>> device and then does a SG_IO type scatter gather user virtual region
>>>> pass to the underlying target infrastructure.  We already have this
>>>> demonstrated in the SG_IO path, someone just needs to come up with the
>>>> correct implementation for a target path.
>>>
>>>
>>> I'm not completely understand how it will work. Consider, there are 
>>> READ/WRITE commands with random data sizes arrive from an initiator. 
>>> Are you going to do map/unmap for each command individually or alloc 
>>> data buffers for commands from a premapped area and live with 
>>> possible its fragmentation? If map/unmap individually, then I should 
>>> say that those are very expensive operations.
>>
>>
>> You do it the same way an array does:  the model for SPI is read command
>> phase, disconnect, process command (i.e. set up areas) reconnect for
>> data transfer.
>>
>> map/unmap are really only necessary if you're emulating the data store,
>> but it's a fairly cheap operation on linux: it just causes the creation
>> of a vm_area.  If it's a pass through, you can use SG_IO to pull it in
>> and the SG_IO like output to shoot it out again, effectively using a
>> piece of user memory as a zero copy buffer.
>>
>> Fragmentation isn't an issue because the I/O goes via sg lists , all
>> that's needed is a bunch of pages.
> 
> 
> OK, I see what you meant, thanks.
> 
>> I do have to say that I consider operation in interrupt context (or even
>> kernel context) to be a disadvantage.  Compared with the response times
>> that most arrays have to SCSI commands, the kernel context switch time
>> isn't that significant.
> 
> 
> Are you sure that there are no now or will be available in the nearest 
> feature such (eg iSCSI) SCSI arrays with response time/latency so small 
> that having 5 (five) context switches or more per command, some of which 
> include map/unmap operations, will not increase the latency too much? I 
> mean, eg NFS server, which originally was user space daemon and many 
> people didn't want it in the kernel. Eventually, it's in. I don't see 
> any fundamental difference between NFS server and SCSI target server, 

Isn't the reason a NFS server is still in the kernel is becuase some of 
the locking difficulties?

  reply	other threads:[~2005-12-10 18:07 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <OF6932015B.01CF53D9-ONC12570D0.00462028@capvert.ins>
     [not found] ` <43972C2D.9060500@cs.wisc.edu>
2005-12-08 18:46   ` Ang: Re: [Stgt-devel] Re: stgt a new version of iscsi target? Vladislav Bolkhovitin
2005-12-08 18:54     ` Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] " Mike Christie
2005-12-09 15:30       ` Ang: Re: [Stgt-devel] " Vladislav Bolkhovitin
2005-12-09 22:31         ` Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] " Mike Christie
2005-12-08 19:10     ` Mike Christie
2005-12-08 19:48       ` James Bottomley
2005-12-08 20:09         ` Mike Christie
2005-12-08 21:35           ` Dave C Boutcher
2005-12-08 21:56             ` Mike Christie
2005-12-09 15:29               ` Vladislav Bolkhovitin
2005-12-09 22:31                 ` Mike Christie
2005-12-10 15:31                   ` Vladislav Bolkhovitin
2005-12-10 18:19                     ` Mike Christie
2005-12-10  8:46                 ` FUJITA Tomonori
2005-12-09 15:30             ` Vladislav Bolkhovitin
2005-12-09 15:29           ` Vladislav Bolkhovitin
2005-12-21 23:53         ` FUJITA Tomonori
2005-12-22 10:38           ` Vladislav Bolkhovitin
2005-12-26 23:53         ` Ang: " FUJITA Tomonori
2005-12-28 16:32           ` James Bottomley
2005-12-31  3:27             ` Mike Christie
2005-12-31 15:33               ` James Bottomley
2005-12-09 15:28       ` Vladislav Bolkhovitin
2005-12-09 22:23         ` Mike Christie
2005-12-10  1:15           ` Ang: Re: [Stgt-devel] " Mike Christie
2005-12-10 15:30             ` Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] " Vladislav Bolkhovitin
2005-12-10 18:22               ` Mike Christie
2005-12-10  8:46         ` FUJITA Tomonori
2005-12-10 15:32           ` Ang: Re: [Stgt-devel] " Vladislav Bolkhovitin
2005-12-10 15:54             ` Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] " FUJITA Tomonori
2005-12-14 15:17               ` [Scst-devel] " Vladislav Bolkhovitin
2005-12-10 18:09             ` Mike Christie
2005-12-14 15:09               ` Ang: Re: [Stgt-devel] " Vladislav Bolkhovitin
2005-12-08 19:47     ` Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] " James Bottomley
2005-12-09  3:57       ` Mike Christie
2005-12-09 15:00         ` Ang: Re: [Stgt-devel] " Ming Zhang
2005-12-09 15:29       ` [Scst-devel] Re: Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] " Vladislav Bolkhovitin
2005-12-09 15:48         ` James Bottomley
2005-12-10 15:32           ` Vladislav Bolkhovitin
2005-12-10 18:07             ` Mike Christie [this message]
2005-12-14 15:06               ` Vladislav Bolkhovitin
2005-12-14 19:55                 ` Mike Christie
2005-12-15 18:53                   ` Vladislav Bolkhovitin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=439B1965.90603@cs.wisc.edu \
    --to=michaelc@cs.wisc.edu \
    --cc=James.Bottomley@SteelEye.com \
    --cc=WRWHITEHEAD@novell.com \
    --cc=hch@infradead.org \
    --cc=iscsitarget-devel@lists.sourceforge.net \
    --cc=johan@capvert.se \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mingz@ele.uri.edu \
    --cc=scst-devel@lists.sourceforge.net \
    --cc=stgt-devel@lists.berlios.de \
    --cc=vst@vlnb.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.