From: Thomas Gleixner on 28 Jun 2010 11:40 On Mon, 28 Jun 2010, Andreas Schwab wrote: > Linus Torvalds <torvalds(a)linux-foundation.org> writes: > > > We know it's not a valid absolute timeout, since there's no way > > somebody is "waiting" for something that happened in the sixties. > > Should it reject timestamps from the seventies? No, because that's in the _VALID_ range of CLOCK_REALTIME and tv_sec is >= 0. So we are nice to the post flower power folks. Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Andreas Schwab on 28 Jun 2010 11:40 Linus Torvalds <torvalds(a)linux-foundation.org> writes: > We know it's not a valid absolute timeout, since there's no way > somebody is "waiting" for something that happened in the sixties. Should it reject timestamps from the seventies? Andreas. -- Andreas Schwab, schwab(a)redhat.com GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Linus Torvalds on 28 Jun 2010 12:10
On Mon, Jun 28, 2010 at 8:29 AM, Andreas Schwab <schwab(a)redhat.com> wrote: > Linus Torvalds <torvalds(a)linux-foundation.org> writes: > >> We know it's not a valid absolute timeout, since there's no way >> somebody is "waiting" for something that happened in the sixties. > > Should it reject timestamps from the seventies? Conceptually, we could certainly say "any timeouts from before the boot of the machine are obviously bogus". It would be stupid and complicated, and it would be a total pain for anybody who wants to do migration or anything like that, so we shouldn't do it, but I could imagine some system that rejected such timeouts as "crazy". At the same time, for us, there's simply no _reason_ to do that. A positive time_t value is well-defined. In contrast, a negative tv_sec value is inherently suspect. Traditionally, you couldn't even know if time_t was a signed quantity to begin with! And on 32-bit machines, a negative time_t is quite often the result of overflow (no, you don't have to get to 2038 to see it - you can get overflows from simply doing large relative timeouts etc). So there is no _reason_ to reject timestamps from the seventies. Why would we care about a specific date? In contrast, negative timestamps make no sense for absolute timeouts, and they are inherently much less trustworthy. So it's not about 1970 per se, it's more an issue about the fundamental representation of time. In other words, think of negative tv_sec values as a "hmm, I wonder what the thing is thinking - let's reject it, because I don't want to guess what the heck is wrong with this guy". And it's also what we've apparently been doing for a long time, so changing it had better had some serious reason. There are certainly cases where negative tv_sec makes sense. Dates on files, things like that. But why would it make sense to have a negative tv_sec for an absolute timeout? (Side note: for a _relative_ timeout a negative value makes much more sense: it happens quite naturally when you end up subtracting two times from each other - but Ulrich seems to explicitly want negative time for the case where it makes _less_ sense) Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |