|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH net] xen-netback: add the scenario which now beyond the range time_after_eq().
On 2013-10-17 17:26, Jan Beulich wrote: On 17.10.13 at 11:02, jianhai luan <jianhai.luan@xxxxxxxxxx> wrote:On 2013-10-17 16:26, Jan Beulich wrote:On 16.10.13 at 19:22, Jason Luan <jianhai.luan@xxxxxxxxxx> wrote:time_after_eq() only works if the delta is < MAX_ULONG/2. If netfront sends at a very low rate, the time between subsequent calls to tx_credit_exceeded() may exceed MAX_ULONG/2 and the test for timer_after_eq() will be incorrect. Credit will not be replenished and the guest may become unable to send (e.g., if prior to the long gap, all credit was exhausted). We should add the scenario which now beyond next_credit+MAX_UNLONG/2.Becausethe fact now must be not before than expire, time_before(now, expire) ==true The issue can be reproduced when now beyond MAX_ULONG/2 (if the gust will send lesser package).
Jiffies beyond than MAX_UNLONG/2 will need below time:
HZ days
100 248.55 (((0xffffffff/2)/HZ)/3600)/24
250 99.42 (((0xffffffff/2)/HZ)/3600)/24
1000 24.86 (((0xffffffff/2)/HZ)/3600)/24
Because we use 250, the issue be found when uptime large than 100 days.
Jason
If use time_after_eq64(), expire ,next_credit and other member will must be u64.Exactly - that's what I was telling you to do. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |