|
[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 23:41, jianhai luan wrote: On 2013-10-17 23:25, David Vrabel wrote:I think that modify next_credit only will not fix the issue. please think about: - If jiffies have beyond 32 bit. i assume expire is 0, jiffies_64 is 0x1000000ff.On 17/10/13 16:23, jianhai luan wrote:On 2013-10-17 22:06, Wei Liu wrote:On Thu, Oct 17, 2013 at 09:59:30PM +0800, jianhai luan wrote: [...]I think David means you didn't actually fix the problem. Your solution isIf use time_after_eq64(), expire ,next_credit and other member will must be u64.Yes, you'll need to store next_credit as a u64 in vif instead ofcalculating it in tx_credit_exceeded from expires (which is only anunsigned long).I know that. Even we use u64, time_after_eq() will also do wrong judge in theory (not in reality because need long long time).If jiffies_64 has millisecond resolution that would be more than 500,000,000 years.Yes, I agree the fact. At first, the case above only exists when the network device keep idle for a long time, not frequently happens. If this case really happens, it means lots of jiffies are available for the credit, so there is no necessary to add the timer. The code operates correctly and rate control does not lose. This case can be shown with following config, ------old_next_credit(expires replaced)----------next_credit--------now----So till now, two solutions are available: one is the current one to change if condition, another is to change all connected variant to 64. I incline to the former one since it involves less code change than the latter one. Thanks Annie _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |