All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamie Lokier <lk@tantalophile.demon.co.uk>
To: Bill Davidsen <davidsen@tmr.com>
Cc: Andreas Dilger <adilger@clusterfs.com>, Andi Kleen <ak@muc.de>,
	linux-kernel@vger.kernel.org
Subject: Re: New nanosecond stat patch for 2.5.44
Date: Wed, 30 Oct 2002 00:44:57 +0000	[thread overview]
Message-ID: <20021030004457.GC22170@bjl1.asuk.net> (raw)
In-Reply-To: <Pine.LNX.3.96.1021029151551.8154A-100000@gatekeeper.tmr.com>

Bill Davidsen wrote:
> I admit to being one of the "thousands" people, and even if I have 100k
> inodes (more likely to be 10% of that) it's in the order of a MB, and any
> machine which has 100k inodes open is likely to be large enough to ignore
> a MB. One advantage of keeping the HRT in the in-core inode is that it
> allows parallel make to work correctly even on a filesystem which doesn't
> have space to save that information.
> 
> Feel free to tell me if that last isn't true.

It isn't true if the parallel make actually uses your RAM for
something, thus flushing some of the inodes from RAM.

Admittedly it is no worse than we have at the moment.  However, at the
moment it is possible, to construct a "make" or other program of that
ilk which can always make a safe decision: if it's ambiguous whether a
file needs to be remade, then remake the file.

As soon as we have inodes time stamp resolution being spontanously
lowered (because some of the inodes are flushed from RAM and some
aren't), then it's not possible to make a safe program like that
anymore, unless you simply ignore the high resolution time stamps
_all_ the time, even when they are present.

You can just do that - it's correct behaviour.  But it would be better
to use the high precision when available, as that reduces the number
of unnecessary remakes.

> 4 - the time could be stored in register values, ticks, or whatever else,
> avoiding any conversion to ns. Then the time could be converted only when
> the inode was read, written out, etc. 
> 
> I'd really like your comments on these, you probably see things I've
> missed.

I know of exactly one application which depends on atime information:
checking whether you have new mail in your inbox.  That's done by
comparing atime and mtime on the mailbox.  Mail readers read the file
after writing it, MTAs will simply write it.

For this to function correctly, what's important is that the atime is
updated to be at least the mtime.  So for nanosecond atime updates, it
makes sense that the _first_ read following a write should update the
atime -- if not using the current clock, then simply copying the mtime
value.

-- Jamie

  reply	other threads:[~2002-10-30  0:39 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 ` New nanosecond stat patch for 2.5.44 Andreas Dilger
2002-10-27 22:54   ` 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 [this message]
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=20021030004457.GC22170@bjl1.asuk.net \
    --to=lk@tantalophile.demon.co.uk \
    --cc=adilger@clusterfs.com \
    --cc=ak@muc.de \
    --cc=davidsen@tmr.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.