[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH 00/13] Persistent grant maps for xen net drivers



On 29 May 2015, at 08:53, Yuzhou (C) <vitas.yuzhou@xxxxxxxxxx> wrote:
> Hi,
> 
>       About rx zerocopy, I have a question:
> 
>       If some application make a socket, then listen and accept, the client 
> sends packets to it, but it doesn't recv from this socket right now, all 
> persistent grant page would be in used.
> So other application cannot receive any packets.  Is my guess right or wrong?

I believe that doesn’t happen: before the skb gets delivered to the protocol 
stack,
skb_orphan_frags gets called which releases the original pages (i.e. the 
persistent
grants) and memcpy to new ones (if the skb is fragmented). This happens because 
I
previously set the flag SKBTX_DEV_ZEROCOPY, which also invokes a callback
in such event.

Once the callback is invoked, the released pages are added a pool within
xen-netfront which later will use for new requests to the backend. Note that 
part
of the data is previously copied on pskb_pull_tail and may unref the initial 
frag
before skb_orphan_frags is called. The callback is still invoked and this page 
is added
to the pool as well.

Joao

> YuZhou
> 
> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxx 
> [mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of Joao Martins
> Sent: Friday, May 22, 2015 6:27 PM
> To: Wei Liu
> Cc: ian.campbell@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; david.vrabel@xxxxxxxxxx; 
> xen-devel@xxxxxxxxxxxxxxxxxxxx;boris.ostrovsky@xxxxxxxxxx
> Subject: Re: [Xen-devel] [RFC PATCH 00/13] Persistent grant maps for xen net 
> drivers
> 
> 
> On 19 May 2015, at 17:39, Wei Liu <wei.liu2@xxxxxxxxxx> wrote:
> 
>> On Tue, May 12, 2015 at 07:18:24PM +0200, Joao Martins wrote:
>> 
>>> There have been recently[3] some discussions and issues raised on 
>>> persistent grants for the block layer, though the numbers above show 
>>> some significant improvements specially on more network intensive 
>>> workloads and provide a margin for comparison against future 
>>> map/unmap improvements.
>>> 
>>> Any comments or suggestions are welcome, Thanks!
>> 
>> Thanks, the numbers certainly look interesting.
>> 
>> I'm just a bit concerned about the complexity of netback. I've 
>> commented on individual patches, we can discuss the issues there.
> 
> Thanks a lot for the review! It does add more complexity, mainly for the TX 
> path, but I also would like to mention that a portion of this changeset is 
> also the persistent grants ops that could potentially live outside.
> 
> Joao
> 
>>> [1] http://article.gmane.org/gmane.linux.network/249383
>>> [2] http://bit.ly/1IhJfXD
>>> [3] 
>>> http://lists.xen.org/archives/html/xen-devel/2015-02/msg02292.html
>>> 
>>> Joao Martins (13):
>>> xen-netback: add persistent grant tree ops
>>> xen-netback: xenbus feature persistent support
>>> xen-netback: implement TX persistent grants
>>> xen-netback: implement RX persistent grants
>>> xen-netback: refactor xenvif_rx_action
>>> xen-netback: copy buffer on xenvif_start_xmit()
>>> xen-netback: add persistent tree counters to debugfs
>>> xen-netback: clone skb if skb->xmit_more is set
>>> xen-netfront: move grant_{ref,page} to struct grant
>>> xen-netfront: refactor claim/release grant
>>> xen-netfront: feature-persistent xenbus support
>>> xen-netfront: implement TX persistent grants
>>> xen-netfront: implement RX persistent grants
>>> 
>>> drivers/net/xen-netback/common.h    |  79 ++++
>>> drivers/net/xen-netback/interface.c |  78 +++-
>>> drivers/net/xen-netback/netback.c   | 873 
>>> ++++++++++++++++++++++++++++++------
>>> drivers/net/xen-netback/xenbus.c    |  24 +
>>> drivers/net/xen-netfront.c          | 362 ++++++++++++---
>>> 5 files changed, 1216 insertions(+), 200 deletions(-)
>>> 
>>> --
>>> 2.1.3
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

===================================================================
João Martins
Research Scientist, Networked Systems and Data Analytics Group

NEC Laboratories Europe
Kurfuerstenanlage 36
D-69115 Heidelberg

Tel.     +49 (0)6221 4342-208
Fax:     +49 (0)6221 4342-155
e-mail:  joao.martins@xxxxxxxxx
===================================================================
NEC Europe Ltd | Registered Office: Athene, Odyssey Business Park,
West End Road, London, HA4 6QE, GB | Registered in England 2832014


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.