From: Chen Gang <gang.chen.5i5j@gmail.com>
To: dccp@vger.kernel.org
Subject: Re: 回复: [PATCH linux-next] net/dccp/ =?UTF-8?B?dGltZXIuYzogdXNlICd1N
Date: Thu, 22 May 2014 01:01:39 +0000 [thread overview]
Message-ID: <537D4C73.40901@gmail.com> (raw)
On 05/22/2014 08:26 AM, 管雪涛 wrote:
>
> ----- Chen Gang <gang.chen.5i5j@gmail.com> 写道:
>> 'dccp_timestamp_seed' is initialized once by ktime_get_real() in
>> dccp_timestamping_init(). It is always less than ktime_get_real()
>> in dccp_timestamp().
>>
>> Then, ktime_us_delta() in dccp_timestamp() will always return positive
>> number. So can use manual type cast to let compiler and do_div() know
>> about it to avoid warning.
>>
>> The related warning (with allmodconfig under unicore32):
>>
>> CC [M] net/dccp/timer.o
>> net/dccp/timer.c: In function ‘dccp_timestamp’:
>> net/dccp/timer.c:285: warning: comparison of distinct pointer types lacks a cast
>>
>>
>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>> ---
>> net/dccp/timer.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/net/dccp/timer.c b/net/dccp/timer.c
>> index 16f0b22..1cd46a3 100644
>> --- a/net/dccp/timer.c
>> +++ b/net/dccp/timer.c
>> @@ -280,7 +280,7 @@ static ktime_t dccp_timestamp_seed;
>> */
>> u32 dccp_timestamp(void)
>> {
>> - s64 delta = ktime_us_delta(ktime_get_real(), dccp_timestamp_seed);
>> + u64 delta = (u64)ktime_us_delta(ktime_get_real(), dccp_timestamp_seed);
>
> Do you assume that delta should be very small?
> Otherwise, return value will be different if data type is changed.
>
'u64' is a very very large number. after calculation, if it is based on
nano second (although I am not quite sure whether it is based on it).
a hour, 3,600,000,000,000ns
a day, 90,000,000,000,000ns
a year, 50,000,000,000,000,000ns
10 years, 500,000,000,000,000,000ns
100 years, 5,000,000,000,000,000,000ns
4G * 4G = 16,000,000,000,000,000,000ns
So we can assume it will never overflow for 'u64'.
Thanks.
--
Chen Gang
Open, share, and attitude like air, water, and life which God blessed
WARNING: multiple messages have this Message-ID (diff)
From: Chen Gang <gang.chen.5i5j@gmail.com>
To: 管雪涛 <gxt@pku.edu.cn>
Cc: gerrit@erg.abdn.ac.uk, Guan Xuetao <gxt@mprc.pku.edu.cn>,
David Miller <davem@davemloft.net>,
dccp@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: 回复: [PATCH linux-next] net/dccp/timer.c: use 'u64' instead of 's64' to avoid compiler's warning
Date: Thu, 22 May 2014 09:01:39 +0800 [thread overview]
Message-ID: <537D4C73.40901@gmail.com> (raw)
In-Reply-To: <1546102096.46113.1400718399706.JavaMail.root@bj-mail03.pku.edu.cn>
On 05/22/2014 08:26 AM, 管雪涛 wrote:
>
> ----- Chen Gang <gang.chen.5i5j@gmail.com> 写道:
>> 'dccp_timestamp_seed' is initialized once by ktime_get_real() in
>> dccp_timestamping_init(). It is always less than ktime_get_real()
>> in dccp_timestamp().
>>
>> Then, ktime_us_delta() in dccp_timestamp() will always return positive
>> number. So can use manual type cast to let compiler and do_div() know
>> about it to avoid warning.
>>
>> The related warning (with allmodconfig under unicore32):
>>
>> CC [M] net/dccp/timer.o
>> net/dccp/timer.c: In function ‘dccp_timestamp’:
>> net/dccp/timer.c:285: warning: comparison of distinct pointer types lacks a cast
>>
>>
>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>> ---
>> net/dccp/timer.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/net/dccp/timer.c b/net/dccp/timer.c
>> index 16f0b22..1cd46a3 100644
>> --- a/net/dccp/timer.c
>> +++ b/net/dccp/timer.c
>> @@ -280,7 +280,7 @@ static ktime_t dccp_timestamp_seed;
>> */
>> u32 dccp_timestamp(void)
>> {
>> - s64 delta = ktime_us_delta(ktime_get_real(), dccp_timestamp_seed);
>> + u64 delta = (u64)ktime_us_delta(ktime_get_real(), dccp_timestamp_seed);
>
> Do you assume that delta should be very small?
> Otherwise, return value will be different if data type is changed.
>
'u64' is a very very large number. after calculation, if it is based on
nano second (although I am not quite sure whether it is based on it).
a hour, 3,600,000,000,000ns
a day, 90,000,000,000,000ns
a year, 50,000,000,000,000,000ns
10 years, 500,000,000,000,000,000ns
100 years, 5,000,000,000,000,000,000ns
4G * 4G = 16,000,000,000,000,000,000ns
So we can assume it will never overflow for 'u64'.
Thanks.
--
Chen Gang
Open, share, and attitude like air, water, and life which God blessed
next reply other threads:[~2014-05-22 1:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-22 1:01 Chen Gang [this message]
2014-05-22 1:01 ` 回复: [PATCH linux-next] net/dccp/timer.c: use 'u64' instead of 's64' to avoid compiler's warning Chen Gang
-- strict thread matches above, loose matches on Subject: below --
2014-05-23 1:43 回复: Re: [PATCH linux-next] net/d =?UTF-8?B?Y2NwL3RpbWVyLmM6IHVzZ Chen Gang
2014-05-23 1:43 ` 回复: Re: [PATCH linux-next] net/dccp/timer.c: use 'u64' instead of 's64' to avoid compiler's warning Chen Gang
2014-05-22 1:14 回复: Re: 回复: [PATCH linux-n =?UTF-8?B?ZXh0XSBuZXQvZGNjcC90a Chen Gang
2014-05-22 1:14 ` 回复: Re: 回复: [PATCH linux-next] net/dccp/timer.c: use 'u64' instead of 's64' to avoid compiler's warning Chen Gang
2014-05-22 1:06 回复: Re: 回复: [PATCH linux- = 管雪涛
2014-05-22 1:06 ` 回复: Re: 回复: [PATCH linux-next] net/dccp/timer.c: use 'u64' instead of 's64' to avoid compiler's warning 管雪涛
2014-05-22 23:58 ` 回复: Re: [PATCH linux-next] net/dccp/timer.c: use 管雪涛
2014-05-22 23:58 ` 回复: Re: [PATCH linux-next] net/dccp/timer.c: use 'u64' instead of 's64' to avoid compiler's warning 管雪涛
2014-05-22 0:26 回复: [PATCH linux-next] net/dccp/timer.c: use 'u 管雪涛
2014-05-22 0:26 ` 回复: [PATCH linux-next] net/dccp/timer.c: use 'u64' instead of 's64' to avoid compiler's warning 管雪涛
2014-05-21 0:19 Chen Gang
2014-05-21 0:19 ` Chen Gang
2014-05-22 19:33 ` David Miller
2014-05-22 19:33 ` David Miller
2014-05-22 19:33 ` David Miller
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=537D4C73.40901@gmail.com \
--to=gang.chen.5i5j@gmail.com \
--cc=dccp@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.