xfs
[Top] [All Lists]

Re: [RFC 00/32] making inode time stamps y2038 ready

To: "H. Peter Anvin" <hpa@xxxxxxxxx>
Subject: Re: [RFC 00/32] making inode time stamps y2038 ready
From: Arnd Bergmann <arnd@xxxxxxxx>
Date: Tue, 10 Jun 2014 11:54:14 +0200
Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, hch@xxxxxxxxxxxxx, linux-mtd@xxxxxxxxxxxxxxxxxxx, logfs@xxxxxxxxx, linux-afs@xxxxxxxxxxxxxxxxxxx, "Joseph S. Myers" <joseph@xxxxxxxxxxxxxxxx>, linux-arch@xxxxxxxxxxxxxxx, linux-cifs@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, ceph-devel@xxxxxxxxxxxxxxx, cluster-devel@xxxxxxxxxx, coda@xxxxxxxxxx, geert@xxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, codalist@xxxxxxxxxxxxxxxxxxxxxxxx, fuse-devel@xxxxxxxxxxxxxxxxxxxxx, reiserfs-devel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, john.stultz@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, linux-nfs@xxxxxxxxxxxxxxx, linux-ntfs-dev@xxxxxxxxxxxxxxxxxxxxx, samba-technical@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, ocfs2-devel@xxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, lftan@xxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <538FB570.8000502@xxxxxxxxx>
References: <1401480116-1973111-1-git-send-email-arnd@xxxxxxxx> <8770583.6XeZxCxOY8@wuerfel> <538FB570.8000502@xxxxxxxxx>
User-agent: KMail/4.11.5 (Linux/3.11.0-18-generic; KDE/4.11.5; x86_64; ; )
On Wednesday 04 June 2014 17:10:24 H. Peter Anvin wrote:
> On 06/04/2014 12:24 PM, Arnd Bergmann wrote:
> > 
> > For other timekeeping stuff in the kernel, I agree that using some
> > 64-bit representation (nanoseconds, 32/32 unsigned seconds/nanoseconds,
> > ...) has advantages, that's exactly the point I was making earlier
> > against simply extending the internal time_t/timespec to 64-bit
> > seconds for everything.
> > 
> 
> How much of a performance issue is it to make time_t 64 bits, and for
> the bits there are, how hard are they to fix?

Probably very little overhead for most uses, it's more the regression
potential in the less common parts of the kernel I'm worried about.

There is a significant but not overwhelming number of uses of the
main problematic types in the kernel:

arnd@wuerfel:~/arm-soc$ git grep -wl time_t | wc
    188     188    5566
arnd@wuerfel:~/arm-soc$ git grep -wl timeval | wc
    320     320   10353
arnd@wuerfel:~/arm-soc$ git grep -wl timespec | wc
    406     406   10886

I believe we have to audit all of them anyway if we want to change
the kernel to less problematic types and introduce new user
interfaces.

IMHO this work is helped if we change the uses to a new type
as we find the problems. This lets us do the work one subsystem
at a time and avoid accidental ABI changes. I don't care much what
type that will be, and having a 96-bit type will certainly work
well in a lot of cases, but I don't see a strong reason to use
that over other types, especially when they can be more efficient.

        Arnd

<Prev in Thread] Current Thread [Next in Thread>