Subject: Re: [Xen-devel] [PATCH net] xen-netback: add the scenario which now beyond the range time_after_eq().

From: jianhai luan <[email-masked]>
Date: Thu, 17 Oct 2013 23:23:33 +0800

On 2013-10-17 22:06, Wei Liu wrote:
> On Thu, Oct 17, 2013 at 09:59:30PM +0800, jianhai luan wrote:
> [...]
>>>>>> If 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 of
>>>>> calculating it in tx_credit_exceeded from expires (which is only an
>>>>> unsigned 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.
>>>> I think the two better fixed way is below:
>>>>    - By time_before() to judge if now beyond MAX_ULONG/2
>>> This is broken, so no.
>> Where is broken?  would you like to help me point it out.
> I think David means you didn't actually fix the problem. Your solution is
> merely a workaround.

I have think  about using u64, but more code need to be modified and 
that is not all.  Key point is how to change the element of struct 
time_list (expires)  and don't affect other thing?

David && Wei, would you good idea about modification  of expire (which 
is element of struct time_list)?

Jason
>>> David