[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1284049407.2762.19.camel@localhost.localdomain>
Date: Thu, 09 Sep 2010 09:23:27 -0700
From: john stultz <johnstul@...ibm.com>
To: Satoru Takeuchi <takeuchi_satoru@...fujitsu.com>,
"Patrick J. LoPresti" <lopresti@...il.com>
Cc: Andreas Dilger <adilger@....com>,
Chris Mason <chris.mason@...cle.com>,
Jiri Olsa <jolsa@...hat.com>, "Ted Ts'o" <tytso@....edu>,
Thomas Gleixner <tglx@...utronix.de>,
Oleg Nesterov <oleg@...hat.com>,
linux-btrfs <linux-btrfs@...r.kernel.org>,
linux-ext4 <linux-ext4@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>
Subject: Re: [RFC][PATCH] make file's timestamp more accurate
On Tue, 2010-08-31 at 17:42 +0900, Satoru Takeuchi wrote:
> linux has supported nanosecond order file's timestamp since 2.5.48.
> However current file timestamp is got by current_fs_time() and
> is only updated once a tick. It can't say true nanosecond accuracy.
> In addition, gettimeofday() before a file operation updating
> {a,c,m}time would outstrip file's timestamp because of the difference
> about time source between gettimeofday() and file's timestamp.
> A certain kind of application would corrupted by this problem.
Applications mixing gettimeofday and filesystem timesamps can currently
use clock_gettime(CLOCK_REALTIME_COARSE,...) - which returns tick
granular timestamps, the same as the filesystem timestamps - method to
avoid this issue.
However, Patrick LoPresti (cc'ed) was working on a similar issue here
connected to nfs.
> I attached a most simple patch fixing this problem here. However
> it has several problems and I don't say it can be applied as is.
> The most big two problems is the following:
>
> - It would cause performance regression, especially in
> not TSC capable system.
> - Is gettimeofday()'s monotonicity reliable on all systems?
It *should* be. But hardware issues can cause trouble here.
> The relative discussion:
> http://lkml.org/lkml/2010/7/13/443
>
> Does anybody have good idea? Should it be tunable, for example?
I think the discussion from earlier suggested that this be configurable
from a mount option so the performance/granularity trade-off can be
managed there.
Potential pot-holes on the road here: Although I guess doing this on a
per-mount basis in the future could make it difficult for apps that use
CLOCK_REALTIME_COARSE to function if fs granularity is increased. Some
sort of CLOCK_REALTIME_FS could be introduced to map to whichever
granularity is right, but that can only be done on a global basis.
Hrm...
thanks
-john
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists