svn commit: r251282 - head/sys/kern
Alfred Perlstein
bright at mu.org
Mon Jun 3 04:37:12 UTC 2013
Hey Konstaintin, shouldn't this be scaled against the actual amount of
KVA we have instead of an arbitrary limit?
-Alfred
On 6/2/13 9:16 PM, Konstantin Belousov wrote:
> Author: kib
> Date: Mon Jun 3 04:16:48 2013
> New Revision: 251282
> URL: http://svnweb.freebsd.org/changeset/base/251282
>
> Log:
> When auto-sizing the buffer cache, limit the amount of physical memory
> used as the estimation of size, to 32GB. 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.
>
> Reported and tested by: bdrewery
> Sponsored by: The FreeBSD Foundation
>
> Modified:
> head/sys/kern/vfs_bio.c
>
> Modified: head/sys/kern/vfs_bio.c
> ==============================================================================
> --- head/sys/kern/vfs_bio.c Mon Jun 3 04:11:42 2013 (r251281)
> +++ head/sys/kern/vfs_bio.c Mon Jun 3 04:16:48 2013 (r251282)
> @@ -560,7 +560,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-head
mailing list