From: Andreas Dilger <adilger@clusterfs.com>
To: Andi Kleen <ak@muc.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: New nanosecond stat patch for 2.5.44
Date: Sun, 27 Oct 2002 14:49:13 -0700 [thread overview]
Message-ID: <20021027214913.GA17533@clusterfs.com> (raw)
In-Reply-To: <20021027121318.GA2249@averell>
On Oct 27, 2002 13:13 +0100, Andi Kleen wrote:
> Move time_t members in struct stat to struct timespec and allow subsecond
> timestamps for files. Too big to post on the list, because it edits
> a lot of file systems and drivers in a straight forward way.
>
> This is required for reliable "make" on fast computers.
>
> File systems that support nsec storage are currently: XFS, JFS, NFSv3
> (if the filesystem on the server supports it), VFAT (not quite nanosecond),
> CIFS (unit in 100ns which is above what linux supports), SMBFS (for
> newer servers)
Two notes I might make about this:
1) It would be good if it were possible to select this with a config
option (I don't care which way the default goes), so that people who
don't need/care about the increased resolution don't need the extra
space in their inodes and minor extra overhead. To make this a lot
easier to code, having something akin to the inode_update_time()
which does all of the i_[acm]time updates as appropriate.
2) Updating i_atime based on comparing the nsec timestamp is going to be
a killer. I think AKPM saw dramatic performance improvements when he
changed the code to only do the update once/second, and even though
you are "only" updating the atime if the times are different, in
practise this will be always. Even without the "per superblock interval"
you suggest we should probably only update the atime once a second (I
don't think anything is keyed off such high resolution atimes, unlike
make and mtime/ctime).
3) The fields you are usurping in struct stat are actually there for the
Y2038 problem (when time_t wraps). At least that's what Ted said when
we were looking into nsec times for ext2/3. Granted, we may all be
using 64-bit systems by 2038... I've always thought 64 bits is much
to large for time_t, so we could always use 20 or 30 bits for sub-second
times, and the remaining bits for extending time_t at the high end,
and mask those off for now, but that is a separate issue...
Cheers, Andreas
--
Andreas Dilger
http://www-mddsp.enel.ucalgary.ca/People/adilger/
http://sourceforge.net/projects/ext2resize/
next prev parent reply other threads:[~2002-10-27 21:45 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-27 12:13 New nanosecond stat patch for 2.5.44 Andi Kleen
2002-10-27 14:33 ` New nanosecond stat patch for 2.5.44 - new patch II Andi Kleen
2002-10-27 21:49 ` Andreas Dilger [this message]
2002-10-27 22:54 ` New nanosecond stat patch for 2.5.44 H. Peter Anvin
2002-10-28 1:23 ` Chris Friesen
2002-10-28 1:35 ` Rob Landley
2002-11-06 13:27 ` Gabriel Paubert
2002-11-06 18:00 ` H. Peter Anvin
2002-10-27 23:16 ` Horst von Brand
2002-10-28 17:10 ` Andreas Dilger
2002-10-29 15:01 ` Bill Davidsen
2002-10-29 16:30 ` Andreas Dilger
2002-10-29 20:37 ` Bill Davidsen
2002-10-30 0:44 ` Jamie Lokier
2002-10-30 21:12 ` Bill Davidsen
2002-10-30 22:17 ` Jamie Lokier
2002-10-31 0:34 ` H. Peter Anvin
2002-11-01 1:57 ` Bill Davidsen
2002-11-01 3:32 ` Jamie Lokier
[not found] <20021027121318.GA2249@averell.suse.lists.linux.kernel>
[not found] ` <20021027214913.GA17533@clusterfs.com.suse.lists.linux.kernel>
2002-10-28 4:42 ` Andi Kleen
2002-10-28 5:35 ` Andreas Dilger
[not found] ` <aphqqo$261$1@cesium.transmeta.com.suse.lists.linux.kernel>
[not found] ` <3DBC9194.5090006@nortelnetworks.com.suse.lists.linux.kernel>
2002-10-28 4:47 ` Andi Kleen
[not found] <3ED66C83.8070608@austin.ibm.com.suse.lists.linux.kernel>
2003-05-29 21:11 ` Nightly regression runs against current bk tree Andi Kleen
2003-05-29 21:25 ` David S. Miller
2003-05-29 21:29 ` Andi Kleen
2003-05-29 21:38 ` Randy.Dunlap
2003-05-29 21:48 ` David S. Miller
2003-05-29 22:04 ` Craig Thomas
2003-05-29 22:05 ` Andi Kleen
2003-05-29 22:25 ` Cliff White
2003-05-29 23:41 ` David S. Miller
2003-05-29 21:50 ` Craig Thomas
2003-05-29 22:03 ` Andi Kleen
2003-05-29 22:16 ` Cliff White
2003-05-29 22:23 ` Nathan
2003-05-29 23:10 ` Mark Peloquin
2003-05-29 22:51 ` Mark Peloquin
2003-05-29 22:03 ` Nathan
2003-05-29 23:08 ` Mark Peloquin
2003-05-29 22:48 ` Mark Peloquin
2003-05-29 23:17 ` Andreas Dilger
2003-05-29 23:30 ` Cliff White
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=20021027214913.GA17533@clusterfs.com \
--to=adilger@clusterfs.com \
--cc=ak@muc.de \
--cc=linux-kernel@vger.kernel.org \
/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).