linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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/


  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).