Change default VFS timestamp precision?
John Baldwin
jhb at FreeBSD.org
Mon Jan 12 16:59:31 UTC 2015
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
More information about the freebsd-arch
mailing list