From: Arnd Bergmann <arnd@arndb.de>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Christoph Hellwig <hch@infradead.org>,
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: Wed, 14 May 2014 17:48:33 +0200 [thread overview]
Message-ID: <6143833.A3bOpIVfCF@wuerfel> (raw)
In-Reply-To: <alpine.DEB.2.02.1405141628130.6261@ionos.tec.linutronix.de>
On Wednesday 14 May 2014 16:46:29 Thomas Gleixner wrote:
> On Wed, 14 May 2014, Arnd Bergmann wrote:
>
> > On Wednesday 14 May 2014 14:21:48 Thomas Gleixner wrote:
> > >
> > > So in the 32-on-64 case we'll have two compat variants:
> > >
> > > SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
> > > struct timespec __user *, utime, u32 __user *, uaddr2,
> > > u32, val3)
> > >
> > > COMPAT_SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
> > > struct compat_timespec __user *, utime, u32 __user *, uaddr2,
> > > u32, val3)
> > >
> > > COMPAT_SYSCALL_DEFINE6(futex64, u32 __user *, uaddr, int, op, u32, val,
> > > struct timespec64 __user *, utime, u32 __user *, uaddr2,
> > > u32, val3)
> > >
> > > The native 64bit futex64 syscall is mapped to futex.
> >
> > I was actually hoping that we could map the compat futex64 to futex
> > as well here, since 64-bit timespec and compat timespec64 would be
> > the same structure.
>
> Right, that might work with this one, but not for anything which has a
> pointer to a timespec and some other argument based on long.
We'd have to look at each one individually of course, but out of this
list, I think it will work for most:
- getitimer/setitimer
- timer_settime/timer_gettime
- gettimeofday/settimeofday
- adjtimex
- clock_gettime/clock_settime/clock_adjtime
- time/stime
- sysv ipc (msg, sem, shm)
- fstatat (or the statx replacement once we get to that)
- futimesat
but not these ioctls:
- socket time stamps
- audio time stamps
- v4l time stamps
- input event time stamps
> > > I'm curious, whether quite some code, like high frequency timestamps
> > > wouldn't be better of with a strict 64 bit nanosecond granular time
> > > represenation.
> >
> > At least in the kernel, I think ktime_t is already the right type
> > to use on both 64-bit and 32-bit architectures as it can be slow to
> > extract the seconds portion of 64-bit nanoseconds on a 32-bit machine.
>
> On some of them yes. On i386 the u64 nsec ktime_t variant is way more
> efficient.
Ah, interesting. Do we have actual data for other architectures? If
it's much better on x86 and never much worse anywhere else, that
alone may be a reason to migrate the timestamp interfaces.
Arnd
next prev parent reply other threads:[~2014-05-14 15:48 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
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 [this message]
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=6143833.A3bOpIVfCF@wuerfel \
--to=arnd@arndb.de \
--cc=cltang@codesourcery.com \
--cc=geert@linux-m68k.org \
--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).