From: Linus Torvalds <torvalds@linux-foundation.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [git pull] timer fix
Date: Wed, 4 Feb 2009 14:16:23 -0800 (PST) [thread overview]
Message-ID: <alpine.LFD.2.00.0902041412420.3247@localhost.localdomain> (raw)
In-Reply-To: <alpine.LFD.2.00.0902041400100.3247@localhost.localdomain>
On Wed, 4 Feb 2009, Linus Torvalds wrote:
>
> Either cast the result of the subtract to "s32" (or "int", whatever), or
> cast _both_ of them to (s32) so that the subtract is done in a signed
> type, and then the expansion to (long) will still be right - but
> unnecessary - in the sign.
Btw, doing it with a nice helper macro or function is also perhaps a good
idea, at least if these "compare hpet values" things happen more than
once.
Look at "time_after()" in <linux/jiffies.h> to see how to do these kinds
of "comparisons of things that may overflow" really carefully. You
absolutely need to do the compare in a size that is no larger than the
size of the actual values (and in the case of HPET, it's 32-bit, at least
the way we do things now - I guess HPET's _could_ be 64-bit, but we don't
read more than 32 bits or whatever).
So <linux/jiffies.h> does the cast to "(long)", but it does so because the
incoming values really have type "unsigned long" and are valid in all
bits.
Linus
next prev parent reply other threads:[~2009-02-04 22:17 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-04 19:25 [git pull] timer fix Ingo Molnar
2009-02-04 22:11 ` Linus Torvalds
2009-02-04 22:16 ` Linus Torvalds [this message]
2009-02-04 22:25 ` Ingo Molnar
2009-02-04 22:58 ` Ingo Molnar
2009-02-04 23:13 ` H. Peter Anvin
2009-02-05 0:04 ` Ingo Molnar
2009-02-05 7:51 ` Kirill Korotaev
2009-02-05 9:58 ` Pavel Emelyanov
2009-02-05 14:30 ` Ingo Molnar
2009-02-05 16:04 ` Ray Lee
2009-02-17 16:38 Ingo Molnar
2009-06-20 16:55 [GIT PULL] " Ingo Molnar
2009-08-04 19:04 Ingo Molnar
2009-08-09 16:09 Ingo Molnar
2009-09-26 12:27 Ingo Molnar
2009-10-02 12:38 Ingo Molnar
2010-01-31 17:26 Ingo Molnar
2011-02-15 17:06 Ingo Molnar
2011-02-28 17:39 Ingo Molnar
2011-04-29 18:11 Ingo Molnar
2011-10-17 1:39 Linux 3.1-rc9 Linus Torvalds
2011-10-17 10:34 ` Peter Zijlstra
2011-10-17 14:57 ` Linus Torvalds
2011-10-17 17:54 ` Peter Zijlstra
2011-10-17 18:31 ` Linus Torvalds
2011-10-17 19:23 ` Peter Zijlstra
2011-10-17 21:00 ` Thomas Gleixner
2011-10-18 8:39 ` Thomas Gleixner
2011-10-18 9:05 ` Peter Zijlstra
2011-10-18 14:59 ` Linus Torvalds
2011-10-18 18:14 ` [GIT PULL] timer fix Ingo Molnar
2013-09-18 16:22 Ingo Molnar
2013-10-26 12:27 Ingo Molnar
2014-01-15 18:27 Ingo Molnar
2014-03-29 18:44 Ingo Molnar
2015-02-06 18:38 Ingo Molnar
2015-07-18 3:06 Ingo Molnar
2015-08-14 7:13 Ingo Molnar
2016-04-23 11:34 Ingo Molnar
2016-07-13 12:58 Ingo Molnar
2016-10-18 11:18 Ingo Molnar
2016-12-23 22:53 Ingo Molnar
2017-01-18 9:37 Ingo Molnar
2017-05-12 7:35 Ingo Molnar
2017-07-21 10:21 Ingo Molnar
2017-08-26 7:17 Ingo Molnar
2017-09-24 11:25 Ingo Molnar
2018-03-25 9:00 Ingo Molnar
2018-12-21 12:34 Ingo Molnar
2018-12-21 19:30 ` pr-tracker-bot
2018-12-23 19:29 ` Heiko Carstens
2019-01-17 9:51 ` Ingo Molnar
2019-01-17 15:58 ` Heiko Carstens
2019-01-17 16:57 ` Thomas Gleixner
2019-04-12 13:09 Ingo Molnar
2019-04-13 4:05 ` pr-tracker-bot
2019-09-26 20:18 Ingo Molnar
2019-09-26 23:00 ` pr-tracker-bot
2019-10-02 22:06 Ingo Molnar
2019-10-02 23:00 ` pr-tracker-bot
2019-11-16 21:38 Ingo Molnar
2019-11-17 0:35 ` pr-tracker-bot
2020-04-25 10:16 Ingo Molnar
2020-04-25 19:30 ` pr-tracker-bot
2020-06-28 18:39 Ingo Molnar
2020-06-28 22:05 ` pr-tracker-bot
2024-05-10 11:12 Ingo Molnar
2024-05-10 17:29 ` pr-tracker-bot
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=alpine.LFD.2.00.0902041412420.3247@localhost.localdomain \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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).