Change default VFS timestamp precision?
John Baldwin
jhb at freebsd.org
Tue Dec 16 18:48:45 UTC 2014
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?
--
John Baldwin
More information about the freebsd-arch
mailing list