svn commit: r253259 - stable/9/sys/kern

Konstantin Belousov kib at FreeBSD.org
Fri Jul 12 10:07:49 UTC 2013


Author: kib
Date: Fri Jul 12 10:07:48 2013
New Revision: 253259
URL: http://svnweb.freebsd.org/changeset/base/253259

Log:
  MFC r251282:
  When auto-sizing the buffer cache, limit the amount of physical memory
  used as the estimation of size, to 16GB.  This provides around 100K of
  buffer headers and corresponding KVA for buffer map at the peak.
  Sizing the cache larger is not useful, also resulting in the wasting
  and exhausting of KVA for large machines.
  
  MFC note: the commit message was adjusted to match the code change, the
  sizing cap is for 16GB, as noted by delphij.
  
  Approved by:	re (delphij)

Modified:
  stable/9/sys/kern/vfs_bio.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/vfs_bio.c
==============================================================================
--- stable/9/sys/kern/vfs_bio.c	Fri Jul 12 10:07:21 2013	(r253258)
+++ stable/9/sys/kern/vfs_bio.c	Fri Jul 12 10:07:48 2013	(r253259)
@@ -562,7 +562,8 @@ kern_vfs_bio_buffer_alloc(caddr_t v, lon
 			nbuf += min((physmem_est - 4096) / factor,
 			    65536 / factor);
 		if (physmem_est > 65536)
-			nbuf += (physmem_est - 65536) * 2 / (factor * 5);
+			nbuf += min((physmem_est - 65536) * 2 / (factor * 5),
+			    32 * 1024 * 1024 / (factor * 5));
 
 		if (maxbcache && nbuf > maxbcache / BKVASIZE)
 			nbuf = maxbcache / BKVASIZE;


More information about the svn-src-all mailing list