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
next prev 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).