svn commit: r242847 - in head/sys: i386/include kern
Alfred Perlstein
bright at mu.org
Sat Nov 10 02:56:37 UTC 2012
On 11/9/12 6:34 PM, Eitan Adler wrote:
> On 9 November 2012 21:08, Alfred Perlstein <alfred at freebsd.org> wrote:
>> Modified: head/sys/kern/subr_param.c
>> +#ifdef VM_MAX_AUTOTUNE_MAXUSERS
>> + if (maxusers > VM_MAX_AUTOTUNE_MAXUSERS)
>> + maxusers = VM_MAX_AUTOTUNE_MAXUSERS;
>> +#endif
>> + /*
>> + * Scales down the function in which maxusers grows once
>> + * we hit 384.
>> + */
>> + if (maxusers > 384)
>> + maxusers = 384 + ((maxusers - 384) / 8);
>> + }
> Hey,
>
> I know you didn't introduce this magic number 384. But can you (or
> someone else) explain where it came from?
>
Sure, this is magic for i386 PAE machines. 384 maxusers was pretty much
the highest you wanted auto-tuned SAFELY for 32bit KVA on i386.
Now with 64 bit machines doing away with this hard ceiling, I wanted to
change the slope so that it doesn't grow too much as a conservative
measure to test the waters.
Take for example my amd64 machine with 16GB of ram.
Without the scaling factor of "maxusers = 384 + ((maxusers - 384) / 8)"
then I get 8173 maxusers.
8173 maxusers translates to 524096 nmbclusters (1024 + 8173 * 64).
That is 2GB RAM for just nmbclusters, nevermind jumbo9 and jumbo16.
With the scaling adjustment I get 1357 maxusers which is 87872 nmbclusters.
That is 343MB. Somewhat more reasonable.
I'm open to other suggestions and people coming in here to open the
value up higher... however I wanted a conservative value for now to
avoid too much concern.
We'll see where this takes us.
-Alfred
With this patch I get 75104 nmbclusters, which is 75104 pages which is
293 MB of ram!
More information about the svn-src-all
mailing list