All of lore.kernel.org
 help / color / mirror / Atom feed
From: annie li <annie.li@oracle.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: Paul Durrant <Paul.Durrant@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	David Vrabel <david.vrabel@citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [PATCH net-next] xen-netback: improve guest-receive-side flow control
Date: Fri, 29 Nov 2013 16:20:31 +0800	[thread overview]
Message-ID: <52984E4F.2090600@oracle.com> (raw)
In-Reply-To: <20131128162704.GA9206@zion.uk.xensource.com>


On 2013/11/29 0:27, Wei Liu wrote:
> On Thu, Nov 28, 2013 at 04:05:52PM +0000, Paul Durrant wrote:
>>> -----Original Message-----
>>> From: Wei Liu [mailto:wei.liu2@citrix.com]
>>> Sent: 28 November 2013 15:51
>>> To: Paul Durrant
>>> Cc: xen-devel@lists.xen.org; Wei Liu; Ian Campbell; David Vrabel
>>> Subject: Re: [PATCH net-next] xen-netback: improve guest-receive-side flow
>>> control
>>>
>>> On Thu, Nov 28, 2013 at 01:11:12PM +0000, Paul Durrant wrote:
>>>> The flow control code relies on a double pass of tke skb, firstly to count
>>>> the number of ring slots needed to supply sufficient grant references, and
>>>> another to actually consume those references and build the grant copy
>>>> operations. It transpires that, in some scenarios, the initial count and the
>>>> number of references consumed differs and, after this happens a number
>>> of
>>>> times, flow control is completely broken.

Can you describe it in more details? What kind of scenarios does this 
issue happen? I assume current xenvif_count_skb_slots() returns accurate 
value now.

>>> The removal of xenvif_count_skb_slots() is OK because you're now
>>> estimating minimum slots, but the actual number of slots consumed needs
>>> to be acurate. Any reason you don't want to use xenvif_gop_skb()?
>>>
>> I can't. xenvif_gop_skb() pulls requests off the ring and if there aren't enough there it will crash'n'burn as far as I can tell. So, I need an upper bound on the number of slots before I call it.
>>
> I get what you mean. We can at least use some of the snippet in it
> without pulling requests. See above.
>

I prefer accurate value since it would help to save more slots. But I am 
not sure what the flow control issue is, does using similar mechanism of 
xenvif_count_skb_slots here would cause this issue too?

Thanks
Annie

  parent reply	other threads:[~2013-11-29  8:20 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-28 13:11 [PATCH net-next] xen-netback: improve guest-receive-side flow control Paul Durrant
2013-11-28 15:51 ` Wei Liu
2013-11-28 16:05   ` Paul Durrant
2013-11-28 16:27     ` Wei Liu
2013-11-28 16:33       ` Paul Durrant
2013-11-28 16:44         ` Wei Liu
2013-12-02 11:53         ` David Vrabel
2013-11-29  8:20       ` annie li [this message]
2013-11-29 10:03         ` Paul Durrant
2013-12-01  4:18           ` annie li
2013-12-02 10:52             ` Paul Durrant
2013-12-02 11:52 ` David Vrabel
2013-12-02 11:55   ` Paul Durrant
2013-12-02 11:59     ` David Vrabel
2013-12-02 12:01       ` Paul Durrant
2013-12-03 20:22     ` Konrad Rzeszutek Wilk

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=52984E4F.2090600@oracle.com \
    --to=annie.li@oracle.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Paul.Durrant@citrix.com \
    --cc=david.vrabel@citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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.