Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Dec 2014 13:48:41 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        arch@freebsd.org
Subject:   Change default VFS timestamp precision?
Message-ID:  <201412161348.41219.jhb@freebsd.org>

next in thread | raw e-mail | index | archive | help
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



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