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
next prev parent 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).