svn commit: r251282 - head/sys/kern
Konstantin Belousov
kostikbel at gmail.com
Mon Jun 3 07:55:45 UTC 2013
On Sun, Jun 02, 2013 at 09:27:53PM -0700, Alfred Perlstein wrote:
> Hey Konstaintin, shouldn't this be scaled against the actual amount of
> KVA we have instead of an arbitrary limit?
The commit changes the buffer cache to scale according to the available
KVA, making the scaling less dumb.
I do not understand what exactly do you want to do, please describe the
algorithm you propose to implement instead of my change.
>
> -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;
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20130603/d826048f/attachment.sig>
More information about the svn-src-all
mailing list