cvs commit: src/sys/kern vfs_bio.c

Tor Egge tegge at FreeBSD.org
Thu Feb 2 13:37:43 PST 2006


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


More information about the cvs-all mailing list