Date: Wed, 8 Mar 2006 23:57:07 +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: <200603082357.k28Nv7NI054349@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
tegge 2006-03-08 23:57:07 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_6)
sys/kern vfs_bio.c
Log:
MFC: 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.
Approved by: re (mux)
Revision Changes Path
1.491.2.6 +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?200603082357.k28Nv7NI054349>
