From: Arnd Bergmann <arnd@arndb.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ley Foon Tan <lftan@altera.com>,
linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
lftan.linux@gmail.com, cltang@codesourcery.com
Subject: Re: [PATCH 00/25] Change time_t and clock_t to 64 bit
Date: Tue, 13 May 2014 20:10:31 +0200 [thread overview]
Message-ID: <6202090.0OtAjefIFT@wuerfel> (raw)
In-Reply-To: <20140513174640.GA20961@infradead.org>
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.
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.
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.
Arnd
next prev parent reply other threads:[~2014-05-13 18:11 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 [this message]
2014-05-13 18:24 ` Geert Uytterhoeven
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=6202090.0OtAjefIFT@wuerfel \
--to=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).