On 6/3/13 12:55 AM, Konstantin Belousov wrote:
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.

Sure, how about deriving the hardcoded "32" from the maxkva a machine can have?

Is that possible?

-Alfred


-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;


_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to