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>