All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Christie <michaelc@cs.wisc.edu>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Vladislav Bolkhovitin <vst@vlnb.net>,
	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: Ang: Re: [Stgt-devel] Re: [Iscsitarget-devel] stgt a new	version of iscsi target?
Date: Thu, 08 Dec 2005 21:57:22 -0600	[thread overview]
Message-ID: <439900A2.4040009@cs.wisc.edu> (raw)
In-Reply-To: <1134071268.3259.29.camel@mulgrave>

James Bottomley 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 guess I am going to try to do some work in userspace so we can 
benchmark things and see how much performance drops.

For your suggestion, are you referring to the sg.c mmap path? I was 
thinking that maybe we could modify dm so it can do mmap like sg.c does. 
The dm device would be the target device and would sit above the real 
device or another MD/DM/Loop/ramdsik device or whatever so when 
userspace decides to execute the command it would inform the dm device 
and that kernel driver would just then send down the bios.

For something like qlogic or mpt would this basically work like the 
following:

1. dm mmap is called and our dm_target (dm drivers like dm-multipath or 
dm-raid are called dm_targets) does like sg.c sg_mmap* and sg_vma* ops.
2. HW interrupt comes in and we allocate a scatterlist with pages from #1.
3. netlink (or whatever is the favorite interface) a message to 
userpsace to tell it we have a command ready.
4. userspace decides if it is a read or write and if it is a read or 
write then userspace tells the dm device to read/write some pages.
5. dm's bi_endio is called when io is finished so we netlink to 
userspace and then userspaces netlinks back to the kernel and tells the 
LLD like qlogic that some data and/or a responce or sense is ready for 
it to transfer.

  reply	other threads:[~2005-12-09  3:57 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 [this message]
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
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=439900A2.4040009@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.