From: "J. Bruce Fields" <bfields@fieldses.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: "Patrick J. LoPresti" <lopresti@gmail.com>,
linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Proposal: Use hi-res clock for file timestamps
Date: Tue, 17 Aug 2010 15:04:47 -0400 [thread overview]
Message-ID: <20100817190447.GA28049@fieldses.org> (raw)
In-Reply-To: <20100817182920.GD18161@basil.fritz.box>
On Tue, Aug 17, 2010 at 08:29:20PM +0200, Andi Kleen wrote:
> > OK, so that leaves us with the race, even on newer filesystems:
> >
> > 1. File is modified, mtime updated
> > 2. Client fetches mtime to revalidate cache
> > 3. File is modified again, mtime updated
> > 4. Client fetches new mtime to revalidate cache
>
> You'll always have a race window with time, the only way around
> that would be a version number.
Agreed, but as a practical matter, nanosecond resolution would extend
the useful lifetime of NFSv3 by quite a bit.
> > - Tell everyone to use NFSv4 (and make sure we have
> > changeattr/i_version working correctly).
> > - Use a finer-grained time source. (I believe you when you say
> > the TSC is too slow, but maybe we should run some tests to
> > make sure.)
>
> It depends on the CPU too.
If we wanted to look into this, what would you suggest (hardware,
workload) to demonstrate the worst case? (Or are the results from the
TSC or any other higher-precision time source likely to be useless for
other reasons?)
> > - Increment mtime by a nanosecond when necessary.
>
> You cannot be more precise than the backing file system: this causes
> non monotonity when the inodes are flushed (has happened in the past)
Right, I think that we probably have to give up ext3 as a lost cause.
But perhaps we could get away with a hack like this on filesystems that
can store nanoseconds.
--b.
next prev parent reply other threads:[~2010-08-17 19:06 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-13 18:25 Proposal: Use hi-res clock for file timestamps Patrick J. LoPresti
2010-08-13 18:45 ` john stultz
2010-08-13 18:57 ` Patrick J. LoPresti
2010-08-13 19:09 ` john stultz
2010-08-13 20:53 ` Patrick J. LoPresti
2010-08-14 16:45 ` Patrick J. LoPresti
2010-08-15 1:50 ` Bret Towe
2010-08-13 19:57 ` Jim Rees
2010-08-13 20:26 ` john stultz
2010-08-13 20:52 ` Jim Rees
2010-08-17 14:54 ` Andi Kleen
2010-08-17 17:41 ` J. Bruce Fields
2010-08-17 18:29 ` Andi Kleen
2010-08-17 18:50 ` Patrick J. LoPresti
2010-08-17 19:04 ` J. Bruce Fields [this message]
2010-08-17 19:18 ` Patrick J. LoPresti
2010-08-17 19:39 ` Alan Cox
2010-08-17 19:29 ` J. Bruce Fields
2010-08-17 19:52 ` Alan Cox
2010-08-18 5:53 ` Neil Brown
2010-08-18 14:46 ` Patrick J. LoPresti
2010-08-18 17:32 ` J. Bruce Fields
2010-08-18 18:15 ` Chuck Lever
2010-08-18 23:41 ` Neil Brown
2010-08-19 0:52 ` Neil Brown
2010-08-19 2:08 ` J. Bruce Fields
2010-08-19 2:44 ` Neil Brown
2010-08-19 22:46 ` J. Bruce Fields
2010-08-18 23:47 ` Neil Brown
2010-08-18 17:50 ` Andi Kleen
2010-08-18 18:54 ` J. Bruce Fields
2010-08-18 19:25 ` Andi Kleen
2010-08-18 19:30 ` J. Bruce Fields
2010-08-17 19:34 ` Patrick J. LoPresti
2010-08-17 19:54 ` Alan Cox
2010-08-17 19:43 ` Patrick J. LoPresti
2010-08-17 19:45 ` J. Bruce Fields
2010-08-18 18:12 ` J. Bruce Fields
2010-08-19 1:41 ` john stultz
2010-08-19 2:31 ` J. Bruce Fields
2010-08-19 3:17 ` john stultz
2010-08-19 22:53 ` J. Bruce Fields
2010-08-18 18:20 ` David Woodhouse
2010-08-18 18:32 ` Patrick J. LoPresti
2010-08-18 18:53 ` Andi Kleen
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=20100817190447.GA28049@fieldses.org \
--to=bfields@fieldses.org \
--cc=andi@firstfloor.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=lopresti@gmail.com \
/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).