Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jul 2013 10:07:48 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r253259 - stable/9/sys/kern
Message-ID:  <201307121007.r6CA7mpN052185@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307121007.r6CA7mpN052185>