cvs commit: src/sys/kern kern_exec.c vfs_subr.c src/sys/sys vnode.h src/sys/ufs/ufs ufs_vnops.c src/sys/vm vm_mmap.c

Diomidis Spinellis dds at
Thu Dec 29 08:17:00 PST 2005

Brian Fundakowski Feldman wrote:

> On Mon, Dec 26, 2005 at 01:47:20PM +0000, Diomidis Spinellis wrote:
>>dds         2005-12-26 13:47:20 UTC
>>  FreeBSD src repository
>>  Modified files:        (Branch: RELENG_6)
>>    sys/kern             kern_exec.c vfs_subr.c 
>>    sys/sys              vnode.h 
>>    sys/ufs/ufs          ufs_vnops.c 
>>    sys/vm               vm_mmap.c 
>>  Log:
>>  MFC changes from 2005.10.26:
>>  Move execve's access time update functionality into a
>>  new vfs_mark_atime() function, and use the new function
>>  for performing efficient atime updates in mmap().
> Do you have any particular use cases that are improved a lot by
> (seemingly) reducing gratuitous seeks for R/W file mappings?
> Substantial improvement for the general case of not-noatime?

I have no comparative tests or use cases, because the base case was an 
earlier less-than-perfect change that only lived in HEAD for a week.

The claimed "efficient atime updates in mmap()" are over an earlier 
change I committed to HEAD, but never MFCd (vm_mmap.c 1.202).  I 
introduced that change to fix the behavior where reads through mmap(2)d 
files did not update the file's atime.  As a result, for example, our 
implementation of cp(1) would copy files without updating the atime of 
the source.  For that earlier change, bde@ complained: "This is a large 
pessimization for nfs and a usually-small pessimization for local file 
systems."  The current implementation fixes that problem by following 
the existing approach in execve(2) (the then-named VA_EXECVE_ATIME 
flag), and is also cleaner than the earlier one.


More information about the cvs-src mailing list