diff options
author | dillon <dillon@FreeBSD.org> | 1999-09-17 05:48:36 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 1999-09-17 05:48:36 +0000 |
commit | 4c1e280de7db1d524317194a371a5d246f0f5cfa (patch) | |
tree | e531b699c7f123610311174da1d957ba766554a4 /bin/sync | |
parent | d1666d7f52710e66e5f13de62ac5974fbbb7764b (diff) | |
download | FreeBSD-src-4c1e280de7db1d524317194a371a5d246f0f5cfa.zip FreeBSD-src-4c1e280de7db1d524317194a371a5d246f0f5cfa.tar.gz |
Remove inappropriate VOP_FSYNC from vm_object_page_clean(). The fsync
syncs the entire underlying file rather then just the requested range,
resulting in huge inefficiencies when the VM system is articulated in
a certain way. The VOP_FSYNC was also found to massively reduce NFS
performance in certain cases.
Change MADV_DONTNEED and MADV_FREE to call vm_page_dontneed() instead
of vm_page_deactivate(). Using vm_page_deactivate() causes all
inactive and cache pages to be recycled before the dontneed/free page
is recycled, effectively flushing our entire VM inactive & cache
queues continuously even if only a few pages are being actively MADV
free'd and reused (such as occurs with a sequential scan of a
memory-mapped file).
Reviewed by: Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>
Diffstat (limited to 'bin/sync')
0 files changed, 0 insertions, 0 deletions