summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2002-03-06 02:42:56 +0000
committerdillon <dillon@FreeBSD.org>2002-03-06 02:42:56 +0000
commit904a90fbd58e8551b6d5df48853875e9e4e2a97b (patch)
treef4f014a662c183f4e4b98d8e257d0e40dd3636e7 /lib/libc
parent95a814930f2b5f06711fe8a580f334e004f1ce65 (diff)
downloadFreeBSD-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
OpenPOWER on IntegriCloud