diff options
author | dillon <dillon@FreeBSD.org> | 2002-03-06 02:42:56 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2002-03-06 02:42:56 +0000 |
commit | 904a90fbd58e8551b6d5df48853875e9e4e2a97b (patch) | |
tree | f4f014a662c183f4e4b98d8e257d0e40dd3636e7 /lib/libc | |
parent | 95a814930f2b5f06711fe8a580f334e004f1ce65 (diff) | |
download | FreeBSD-src-904a90fbd58e8551b6d5df48853875e9e4e2a97b.zip FreeBSD-src-904a90fbd58e8551b6d5df48853875e9e4e2a97b.tar.gz |
Add a sequential iteration optimization to vm_object_page_clean(). This
moderately improves msync's and VM object flushing for objects containing
randomly dirtied pages (fsync(), msync(), filesystem update daemon),
and improves cpu use for small-ranged sequential msync()s in the face of
very large mmap()ings from O(N) to O(1) as might be performed by a database.
A sysctl, vm.msync_flush_flag, has been added and defaults to 3 (the two
committed optimizations are turned on by default). 0 will turn off both
optimizations.
This code has already been tested under stable and is one in a series of
memq / vp->v_dirtyblkhd / fsync optimizations to remove O(N^2) restart
conditions that will be coming down the pipe.
MFC after: 3 days
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions