From: john stultz <johnstul@us.ibm.com>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: LKML <linux-kernel@vger.kernel.org>, Jiri Olsa <jolsa@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Oleg Nesterov <oleg@redhat.com>
Subject: Re: [PATCH 01/11] x86: Fix vtime/file timestamp inconsistencies
Date: Wed, 14 Jul 2010 09:19:04 -0700 [thread overview]
Message-ID: <1279124344.1831.13.camel@work-vm> (raw)
In-Reply-To: <20100714113527.EA8A.A69D9226@jp.fujitsu.com>
On Wed, 2010-07-14 at 11:40 +0900, KOSAKI Motohiro wrote:
> Hi
>
> > Due to vtime calling vgettimeofday(), its possible that an application
> > could call time();create("stuff",O_RDRW); only to see the file's
> > creation timestamp to be before the value returned by time.
>
> Just dumb question.
>
> Almost application are using gettimeofday() instead time(). It mean
> your fix don't solve almost application.
Correct, filesystem timestamps and gettimeofday can still seem
inconsistently ordered. But that is expected.
Because of granularity differences (one interface is only tick
resolution, the other is clocksource resolution), we can't interleave
the two interfaces (time and gettimeofday, respectively) and expect to
get ordered results.
This is why the fix I'm proposing is important: Filesystem timestamps
have always been tick granular, so when vtime() was made clocksource
granular (by using vgettime internally) we broke the historic
expectation that the time() interface could be interleaved with
filesystem operations.
Side note: For full nanosecond resolution of the tick-granular
timestamps, check out the clock_gettime(CLOCK_REALTIME_COARSE, ...)
interface.
> So, Why can't we fix vgettimeofday() vs create() inconsistency?
> This is just question, I don't intend to disagree you.
The only way to make gettimeofday and create consistent is to use
gettimeofday clocksource resolution timestamps for files. This however
would potentially cause a large performance hit, since each every file
timestamp would require a possibly expensive read of the clocksource.
thanks
-john
next prev parent reply other threads:[~2010-07-14 16:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-14 0:56 [PATCH 00/11] -tip Timekeeping changes for 2.6.36 John Stultz
2010-07-14 0:56 ` [PATCH 01/11] x86: Fix vtime/file timestamp inconsistencies John Stultz
2010-07-14 0:56 ` [PATCH 02/11] Implement timespec_add John Stultz
2010-07-14 0:56 ` [PATCH 03/11] time: Kill off CONFIG_GENERIC_TIME John Stultz
2010-07-14 0:56 ` [PATCH 04/11] powerpc: Simplify update_vsyscall John Stultz
2010-07-14 0:56 ` [PATCH 05/11] powerpc: Cleanup xtime usage John Stultz
2010-07-14 0:56 ` [PATCH 06/11] Fix update_vsyscall to provide wall_to_monotonic offset John Stultz
2010-07-14 0:56 ` [PATCH 07/11] Convert um to use read_persistent_clock John Stultz
2010-07-14 0:56 ` [PATCH 08/11] Cleanup hrtimer.c's direct access to wall_to_monotonic John Stultz
2010-07-14 0:56 ` [PATCH 09/11] Make xtime and wall_to_monotonic static John Stultz
2010-07-14 0:56 ` [PATCH 10/11] Convert common x86 clocksources to use clocksource_register_hz/khz John Stultz
2010-07-14 0:56 ` [PATCH 11/11] Add __clocksource_updatefreq_hz/khz methods John Stultz
2010-07-27 10:49 ` [tip:timers/clocksource] clocksource: " tip-bot for John Stultz
2010-07-27 10:48 ` [tip:timers/clocksource] x86: Convert common clocksources to use clocksource_register_hz/khz tip-bot for John Stultz
2010-07-27 10:48 ` [tip:timers/clocksource] timekeeping: Make xtime and wall_to_monotonic static tip-bot for John Stultz
2010-07-27 10:48 ` [tip:timers/clocksource] hrtimer: Cleanup direct access to wall_to_monotonic tip-bot for John Stultz
2010-07-27 10:47 ` [tip:timers/clocksource] um: Convert to use read_persistent_clock tip-bot for John Stultz
2010-07-27 10:47 ` [tip:timers/clocksource] timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset tip-bot for John Stultz
2010-07-27 10:47 ` [tip:timers/clocksource] powerpc: Cleanup xtime usage tip-bot for John Stultz
2010-07-27 10:46 ` [tip:timers/clocksource] powerpc: Simplify update_vsyscall tip-bot for John Stultz
2010-07-27 23:41 ` [PATCH 04/11] " Paul Mackerras
2010-07-28 1:33 ` john stultz
2010-07-27 10:46 ` [tip:timers/clocksource] time: Kill off CONFIG_GENERIC_TIME tip-bot for John Stultz
2010-07-27 10:46 ` [tip:timers/clocksource] time: Implement timespec_add tip-bot for John Stultz
2010-07-14 2:40 ` [PATCH 01/11] x86: Fix vtime/file timestamp inconsistencies KOSAKI Motohiro
2010-07-14 16:19 ` john stultz [this message]
2010-07-15 1:51 ` KOSAKI Motohiro
2010-07-15 2:46 ` john stultz
2010-07-15 4:41 ` KOSAKI Motohiro
2010-07-15 19:30 ` john stultz
2010-07-15 2:51 ` john stultz
2010-07-15 4:41 ` KOSAKI Motohiro
2010-07-27 10:45 ` [tip:timers/clocksource] " tip-bot for John Stultz
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=1279124344.1831.13.camel@work-vm \
--to=johnstul@us.ibm.com \
--cc=jolsa@redhat.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=tglx@linutronix.de \
/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