netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: annie li <annie.li@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: wei.liu2@citrix.com, ian.campbell@citrix.com,
	netdev@vger.kernel.org, david.vrabel@citrix.com,
	xen-devel@lists.xenproject.org,
	jianhai luan <jianhai.luan@oracle.com>
Subject: Re: [Xen-devel] [PATCH net] xen-netback: add the scenario which now beyond the range time_after_eq().
Date: Fri, 18 Oct 2013 16:14:16 +0800	[thread overview]
Message-ID: <5260EDD8.4020608@oracle.com> (raw)
In-Reply-To: <526102DE02000078000FBFBB@nat28.tlf.novell.com>


On 2013-10-18 15:43, Jan Beulich wrote:
>>>> On 17.10.13 at 18:38, annie li <annie.li@oracle.com> wrote:
>> On 2013-10-17 17:26, Jan Beulich wrote:
>>>> Yes, the issue only can be  reproduced in 32-bit Dom0 (Beyond
>>>> MAX_ULONG/2 in 64-bit will need long long time)
>>>>
>>>> I think the gap should be think all environment even now extending 480+.
>>>> if now fall in the gap,  one timer will be pending and replenish will be
>>>> in time.  Please run the attachment test program.
>>> Not sure what this is supposed to tell me. I recognize that there
>>> are overflow conditions not handled properly, but (a) I have a
>>> hard time thinking of a sensible guest that sits idle for over 240
>>> days (host uptime usually isn't even coming close to that due to
>>> maintenance requirements) and (b) if there is such a sensible
>>> guest, then I can't see why dealing with one being idle for over
>>> 480 days should be required too.
>>>
>> If the guest contains multiple NICs, that situation probably happens
>> when one NIC keeps idle and others work under load. BTW, how do you get
>> the 240?
> 2^31 / 100 / 60 / 60 / 24
>
> Obviously with HZ=1000 the span would be smaller by a factor
> of 10, which would make it even more clear that doubling the
> span doesn't really help.

My understanding is this patch does not simply double the span, it is 
just stricter than the original one. Please check my previous comments, 
I paste it here.

The main change of this patch is copied here too,
if (!time_in_range_open(now, vif->credit_timeout.expires, next_credit))

comments:

----------expires-------now-------credit----------    is the only case 
where we need to add a timer.

Other cases like following would match the if condition above, then no 
timer is added.
----------expires----------credit------now------
-----now-----expires----------credit----------

Or we can consider the extreme condition, when the rate control does not 
exist, "credit_usec" is zero, and "next_credit" is equal to "expires". 
The above if condition would cover all conditions, and no rate control 
really happens. If credit_usec is not zero, the "if condition" would 
cover the range outside of that from expires to next_credit.

Even if "now" is wrapped again into the range from "expires" to 
"next_credit", the "next_credit" that is set in __mod_timer is 
reasonable value(this can be gotten from credit_usec), and the timer 
would be hit soon.

Thanks
Annie

  reply	other threads:[~2013-10-18  8:14 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-16 17:22 [PATCH net] xen-netback: add the scenario which now beyond the range time_after_eq() Jason Luan
2013-10-17  8:26 ` [Xen-devel] " Jan Beulich
2013-10-17  9:02   ` jianhai luan
2013-10-17  9:04     ` jianhai luan
2013-10-17  9:15     ` David Vrabel
2013-10-17 10:19       ` jianhai luan
2013-10-17 10:31         ` David Vrabel
2013-10-17 13:59           ` jianhai luan
2013-10-17 14:06             ` Wei Liu
2013-10-17 15:23               ` jianhai luan
2013-10-17 15:25                 ` David Vrabel
2013-10-17 15:41                   ` jianhai luan
2013-10-18  6:48                     ` annie li
2013-10-17  9:26     ` Jan Beulich
2013-10-17  9:59       ` jianhai luan
2013-10-17 16:38       ` annie li
2013-10-17 16:41         ` Wei Liu
2013-10-18  1:59           ` annie li
2013-10-18  7:43         ` Jan Beulich
2013-10-18  8:14           ` annie li [this message]
2013-10-18  8:26             ` Jan Beulich
2013-10-18  8:40               ` David Laight
2013-10-18 11:24                 ` Wei Liu
2013-10-23  8:02                   ` jianhai luan
2013-10-23 16:07                     ` Jan Beulich
2013-10-24 10:04                       ` David Laight
2013-10-24 11:34                       ` jianhai luan
2013-10-18  8:55               ` annie li
2013-10-17 16:21   ` annie li
2013-10-18  7:41     ` Jan Beulich

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=5260EDD8.4020608@oracle.com \
    --to=annie.li@oracle.com \
    --cc=JBeulich@suse.com \
    --cc=david.vrabel@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=jianhai.luan@oracle.com \
    --cc=netdev@vger.kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.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).