summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>2006-02-02 21:37:39 +0000
committertegge <tegge@FreeBSD.org>2006-02-02 21:37:39 +0000
commit78439a3a9037bde7a2bc1f43e1ffb8ee38bc1892 (patch)
treefcca12785209540839490f6caa949dae7a51e74f /sys/vm/vm_fault.c
parente92441a62f29aaeab7aea6b98a836237046cf0c6 (diff)
downloadFreeBSD-src-78439a3a9037bde7a2bc1f43e1ffb8ee38bc1892.zip
FreeBSD-src-78439a3a9037bde7a2bc1f43e1ffb8ee38bc1892.tar.gz
For low memory situations, non-VMIO buffers didnt't release pages back to
the system when brelse() was called with B_RELBUF set on the buffer. This could be a problem when the system was low on memory, had many buffers on QUEUE_EMPTYKVA and started to traverse directories. For each getnewbuf(), pages were allocated from the system, driving the free reserve downwards. For each brelse(), the system put the buffer on QUEUE_CLEAN, with B_INVAL set. This commit changes the semantics of B_RELBUF to also free pages from non-VMIO buffers. Reviewed by: alc
Diffstat (limited to 'sys/vm/vm_fault.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud