Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Jan 2015 11:59:29 -0500
From:      John Baldwin <jhb@FreeBSD.org>
To:        arch@freebsd.org
Subject:   Re: Change default VFS timestamp precision?
Message-ID:  <54B3FD71.20601@FreeBSD.org>
In-Reply-To: <201412161348.41219.jhb@freebsd.org>
References:  <201412161348.41219.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/16/14 1:48 PM, John Baldwin wrote:
> We still ship with vfs.timestamp_precision=0 by default meaning that VFS 
> timestamps have a granularity of one second.  It is not unusual on modern 
> systems for multiple updates to a file or directory to occur within a single 
> second (and thus share the same effective timestamp).  This can break things 
> that depend on timestamps to know when something has changed or is stale (such 
> as make(1) or NFS clients).  On hardware that has a cheap timecounter, I we 
> should use the most-precise timestamps (vfs.timestamp_precision=3).  However, 
> I'm less sure of what to do for other cases such as i386/amd64 when not using 
> TSC, or on other platforms.  OTOH, perhaps you aren't doing lots of heavy I/O 
> access on a system with a slow timecounter (or if you are doing heavy I/O, 
> slow timecounter access won't be your bottleneck)?
> 
> I can think of a few options:
> 
>  1) Change vfs.timestamp_precision default to 3 for all systems.
> 
>  2) Only change vfs.timestamp_precision default to 3 for amd64/i386 using an
>     #ifdef.
> 
>  3) Something else?
> 
> What do other folks think?

I think the result of this is that we should change all platforms if we
make a chance, and that until Jilles can fix 'cp -p' to use ns
precision, we should stick with us precision.  So I think that we should
change the default to 2 (not 3).  Once Jilles commits his in-progress
changes we can then change from 2 to 3.  Any strong objections to this
approach?

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54B3FD71.20601>