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 aueb.gr
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.

Diomidis



More information about the cvs-all mailing list