From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Christoph Hellwig <hch@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ley Foon Tan <lftan@altera.com>,
Linux-Arch <linux-arch@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
LeyFoon Tan <lftan.linux@gmail.com>,
Chung-Lin Tang <cltang@codesourcery.com>
Subject: Re: [PATCH 00/25] Change time_t and clock_t to 64 bit
Date: Tue, 13 May 2014 20:24:59 +0200 [thread overview]
Message-ID: <CAMuHMdVxc3XRanpboWPumvQKbg-qdRBHQvYXwjTKX4CrxXPeAw@mail.gmail.com> (raw)
In-Reply-To: <6202090.0OtAjefIFT@wuerfel>
On Tue, May 13, 2014 at 8:10 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tuesday 13 May 2014 10:46:40 Christoph Hellwig wrote:
>> On Tue, May 13, 2014 at 05:33:01PM +0200, Thomas Gleixner wrote:
>> > and it
>> > would be dumb as hell to have new archs use time_t 32bit when we are
>> > currently twisting our brain around how to solve the y2038
>> > problem. Simply because we can not do the BSD flag day approach and
>> > change it.
>>
>> I don't think it's a good idea to have minor new architectures
>> pointlessly different than the major ones. Especially given that we'll
>> absolutely have to fir the y2038 problem for 32-bit arm and probably
>> x86 anyway.
>
> I've just spent two days looking at stuff that uses time_t inside
> of the kernel, to get a better idea of what we actually need to
> do to get provide new user interfaces for the existing architectures.
>
> My impression so far is that we're better off fixing it for the
> existing architectures first and then using the new interfaces
> exclusively on new ones, rather than changing over the ABI for
> all new architectures at this point, which would likely create
> yet another variant to maintain in the long run.
Makes sense.
> Using 64-bit time_t on x32 is fine, because it's fast to operate
> in user space with 64-bit registers, and the kernel is 64-bit
> anyway. Inside of the kernel, we may get into trouble using
> a 64-bit time_t on 32-bit architectures because of the overhead
> in 64-bit math, e.g. all the timekeeping code that is based on
> timespec or some code paths in file systems and network code where
> we actually require division of time_t values.
While going over time_t uses, have you found a pattern for use cases
involving division of time_t values in filesystem and networking code?
> We clearly have to change that code in some for to deal with y2038,
> but 64-bit time_t may not be the best option. A lot of the
> in-kernel code can probably use ktime_t, which we can change
> to a different representation (e.g. 34 bit seconds) if needed,
> and all the code that is only interested in relative time
> (e.g. nanosleep) doesn't have to change at all.
Yeah. 32-bit uptimes should be good enough for everyone (don't quote
me on that), so adding a 64-bit offset when there's a need for absolute
time should be OK.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2014-05-13 18:24 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-13 8:57 [PATCH 00/25] Change time_t and clock_t to 64 bit Ley Foon Tan
2014-05-13 9:02 ` [PATCH 01/25] asm-generic: " Ley Foon Tan
2014-05-13 9:15 ` James Hogan
2014-05-13 9:30 ` Thomas Gleixner
2014-05-13 9:30 ` Thomas Gleixner
2014-05-13 9:32 ` Ley Foon Tan
2014-05-13 9:32 ` Ley Foon Tan
2014-05-13 9:50 ` James Hogan
2014-05-13 9:50 ` James Hogan
2014-05-13 10:17 ` Ley Foon Tan
2014-05-13 10:21 ` Arnd Bergmann
2014-05-13 10:21 ` Arnd Bergmann
2014-05-13 12:07 ` Thomas Gleixner
2014-05-13 13:11 ` Geert Uytterhoeven
2014-05-13 13:38 ` Arnd Bergmann
2014-05-13 14:37 ` Thomas Gleixner
2014-05-13 10:22 ` James Hogan
2014-05-13 10:22 ` James Hogan
2014-05-14 3:47 ` H. Peter Anvin
2014-05-14 10:44 ` Geert Uytterhoeven
2014-05-13 9:02 ` [PATCH 02/25] arc: Add 32 bit time_t and clock_t Ley Foon Tan
2014-05-13 9:02 ` Ley Foon Tan
2014-05-13 9:02 ` [PATCH 03/25] arm: " Ley Foon Tan
2014-05-13 9:02 ` Ley Foon Tan
2014-05-13 9:02 ` [PATCH 04/25] avr32: " Ley Foon Tan
2014-05-13 9:02 ` Ley Foon Tan
2014-05-13 20:19 ` Hans-Christian Egtvedt
2014-05-14 1:54 ` Ley Foon Tan
2014-05-14 7:44 ` Hans-Christian Egtvedt
2014-05-14 21:39 ` H. Peter Anvin
2014-05-13 9:02 ` [PATCH 05/25] blackfin: " Ley Foon Tan
2014-05-13 9:02 ` Ley Foon Tan
2014-05-13 9:03 ` [PATCH 06/25] c6x: " Ley Foon Tan
2014-05-13 9:03 ` Ley Foon Tan
2014-05-13 9:03 ` [PATCH 08/25] frv: " Ley Foon Tan
2014-05-13 9:03 ` Ley Foon Tan
2014-05-13 9:03 ` [PATCH 09/25] hexagon: " Ley Foon Tan
2014-05-13 9:03 ` Ley Foon Tan
2014-05-13 9:03 ` [PATCH 10/25] m32r: " Ley Foon Tan
2014-05-13 9:03 ` Ley Foon Tan
2014-05-13 9:03 ` [PATCH 11/25] m68k: " Ley Foon Tan
2014-05-13 9:03 ` Ley Foon Tan
2014-05-13 9:04 ` [PATCH 12/25] metag: " Ley Foon Tan
2014-05-13 9:04 ` Ley Foon Tan
2014-05-13 9:22 ` James Hogan
2014-05-13 9:22 ` James Hogan
2014-05-13 9:28 ` Ley Foon Tan
2014-05-13 9:28 ` Ley Foon Tan
2014-05-13 9:05 ` [PATCH 13/25] microblaze: " Ley Foon Tan
2014-05-13 9:05 ` Ley Foon Tan
2014-05-13 9:05 ` [PATCH 14/25] mips: " Ley Foon Tan
2014-05-13 9:05 ` Ley Foon Tan
2014-05-13 9:05 ` [PATCH 15/25] mn10300: " Ley Foon Tan
2014-05-13 9:05 ` Ley Foon Tan
2014-05-13 9:05 ` [PATCH 16/25] openrisc: " Ley Foon Tan
2014-05-13 9:05 ` Ley Foon Tan
2014-05-13 9:30 ` Jonas Bonn
2014-05-13 9:30 ` Jonas Bonn
2014-05-13 9:41 ` Ley Foon Tan
2014-05-13 9:41 ` Ley Foon Tan
2014-05-13 9:06 ` [PATCH 17/25] parisc: " Ley Foon Tan
2014-05-13 9:06 ` Ley Foon Tan
2014-05-13 20:17 ` Helge Deller
2014-05-14 1:57 ` Ley Foon Tan
2014-05-15 0:34 ` H. Peter Anvin
2014-05-15 0:34 ` H. Peter Anvin
2014-05-13 9:06 ` [PATCH 19/25] s390: " Ley Foon Tan
2014-05-13 9:06 ` [PATCH 20/25] score: " Ley Foon Tan
2014-05-13 9:06 ` Ley Foon Tan
2014-05-13 9:06 ` [PATCH 21/25] sh: " Ley Foon Tan
2014-05-13 9:06 ` Ley Foon Tan
2014-05-13 9:06 ` [PATCH 22/25] sparc: " Ley Foon Tan
2014-05-13 9:06 ` Ley Foon Tan
2014-05-13 9:06 ` [PATCH 23/25] unicore32: " Ley Foon Tan
2014-05-13 9:06 ` Ley Foon Tan
2014-05-13 9:06 ` [PATCH 25/25] xtense: " Ley Foon Tan
2014-05-13 9:06 ` Ley Foon Tan
2014-05-13 9:10 ` [PATCH 07/25] cris: " Ley Foon Tan
2014-05-13 9:10 ` [PATCH 00/25] Change time_t and clock_t to 64 bit Geert Uytterhoeven
2014-05-13 9:23 ` Ley Foon Tan
2014-05-13 15:24 ` Christoph Hellwig
2014-05-13 15:33 ` Thomas Gleixner
2014-05-13 17:46 ` Christoph Hellwig
2014-05-13 18:10 ` Arnd Bergmann
2014-05-13 18:24 ` Geert Uytterhoeven [this message]
2014-05-13 19:32 ` Arnd Bergmann
2014-05-13 20:35 ` Geert Uytterhoeven
2014-05-14 11:00 ` Arnd Bergmann
2014-05-14 12:21 ` Thomas Gleixner
2014-05-14 14:01 ` Arnd Bergmann
2014-05-14 14:01 ` Arnd Bergmann
2014-05-14 14:46 ` Thomas Gleixner
2014-05-14 15:48 ` Arnd Bergmann
2014-05-15 15:47 ` James Bottomley
2014-05-15 16:36 ` Arnd Bergmann
2014-05-15 21:07 ` One Thousand Gnomes
2014-05-16 7:48 ` Christoph Hellwig
2014-05-16 23:06 ` H. Peter Anvin
2014-05-16 23:06 ` H. Peter Anvin
2014-05-14 21:33 ` John Stultz
2014-05-15 0:14 ` H. Peter Anvin
2014-05-15 3:32 ` Nicolas Pitre
2014-05-15 11:08 ` Arnd Bergmann
2014-05-15 11:18 ` Christoph Hellwig
2014-05-15 17:11 ` Chung-Lin Tang
2014-05-15 17:12 ` Chung-Lin Tang
2014-05-15 17:12 ` Chung-Lin Tang
2014-05-15 18:01 ` Joseph S. Myers
2014-05-15 19:18 ` Arnd Bergmann
2014-05-15 20:10 ` Joseph S. Myers
2014-05-15 20:38 ` Arnd Bergmann
2014-05-15 20:38 ` Arnd Bergmann
2014-05-15 21:05 ` Joseph S. Myers
2014-05-19 8:08 ` Arnd Bergmann
2014-05-19 8:08 ` Arnd Bergmann
2014-05-19 14:46 ` Joseph S. Myers
2014-05-19 17:22 ` Arnd Bergmann
2014-05-19 18:12 ` Joseph S. Myers
2014-05-19 18:20 ` Arnd Bergmann
2014-05-16 23:11 ` H. Peter Anvin
2014-05-16 23:47 ` Joseph S. Myers
2014-05-17 0:32 ` H. Peter Anvin
2014-05-18 13:46 ` Joseph S. Myers
2014-05-18 16:10 ` H. Peter Anvin
2014-05-18 18:18 ` Joseph S. Myers
2014-05-14 10:13 ` Ley Foon Tan
2014-05-14 10:33 ` Arnd Bergmann
2014-05-14 21:04 ` H. Peter Anvin
2014-05-13 18:15 ` Geert Uytterhoeven
2014-05-13 19:14 ` Thomas Gleixner
2014-05-14 3:36 ` [PATCH 24/25] x86: Add 32 bit time_t and clock_t Ley Foon Tan
2014-05-14 3:36 ` Ley Foon Tan
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=CAMuHMdVxc3XRanpboWPumvQKbg-qdRBHQvYXwjTKX4CrxXPeAw@mail.gmail.com \
--to=geert@linux-m68k.org \
--cc=arnd@arndb.de \
--cc=cltang@codesourcery.com \
--cc=hch@infradead.org \
--cc=lftan.linux@gmail.com \
--cc=lftan@altera.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--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).