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>