Date: Thu, 2 Feb 2006 21:37:39 +0000 (UTC) From: Tor Egge <tegge@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_bio.c Message-ID: <200602022137.k12Lbd2b023314@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
tegge 2006-02-02 21:37:39 UTC
FreeBSD src repository
Modified files:
sys/kern vfs_bio.c
Log:
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
Revision Changes Path
1.503 +5 -0 src/sys/kern/vfs_bio.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602022137.k12Lbd2b023314>
