WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Using splice to carry Xen granted pages through the network

To: Jens Axboe <jens.axboe@xxxxxxxxxx>
Subject: [Xen-devel] Using splice to carry Xen granted pages through the network stack?
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Wed, 18 Mar 2009 17:04:52 -0700
Cc: Evgeniy Polyakov <johnpol@xxxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Vladislav Bolkhovitin <vst@xxxxxxxx>, Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>, NetDev <netdev@xxxxxxxxxxxxxxx>, Rusty Russell <rusty@xxxxxxxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
Delivery-date: Wed, 18 Mar 2009 17:05:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.19 (X11/20090105)
Hi Jens,

In a thread from December last year ("Support for zero-copy TCP transmit of user space data") you suggested using the splice machinery as a way to implement zero-copy transmit for iscsi data.

I have a similar problem relating to doing zero-copy transmit of pages granted from another Xen domain. These are pages which are in some ways similar to device mappings (they have no struct page unless we jump through some hoops to give them one, for example) which are given to us by another domain (virtual machine)'s network stack since they contain data they want to transmit through our stack. Once the stack has finished with the pages we need to get them back to return to the original domain (and definitely not let them get freed into the normal kernel pool).

I've been looking a little bit at the splice stuff to work out how it might be useful in this case. One issue struct page; I guess we really can't get away from having one for granted pages and still get the full value of using splice (especially I can see also see it being useful on the block side of the world as well). So, we can jump through hoops for that.

But the general plumbing of splice into the network stack seems to have been an open issue since you introduced it 3 years ago (using as a reference http://lwn.net/Articles/181169/). Has any work been done on this aspect since? What would need to be done to do it? Would it mean wiring up a pipe_buffer_operations to operate with something like Rusty's skb_shared_info destructor?

Thanks,
   J

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] Using splice to carry Xen granted pages through the network stack?, Jeremy Fitzhardinge <=