svn commit: r242029 - head/sys/kern

Konstantin Belousov kostikbel at gmail.com
Thu Oct 25 08:05:58 UTC 2012


On Thu, Oct 25, 2012 at 01:46:21AM +0000, Alfred Perlstein wrote:
> Author: alfred
> Date: Thu Oct 25 01:46:20 2012
> New Revision: 242029
> URL: http://svn.freebsd.org/changeset/base/242029
> 
> Log:
>   Allow autotune maxusers > 384 on 64 bit machines
>   
>   A default install on large memory machines with multiple 10gigE interfaces
>   were not being given enough mbufs to do full bandwidth TCP or NFS traffic.
>   
>   To keep the value somewhat reasonable, we scale back the number of
>   maxuers by 1/6 past the 384 point.  This gives us enough mbufs for most
>   of our pretty basic 10gigE line-speed tests to complete.
> 
> Modified:
>   head/sys/kern/subr_param.c
> 
> Modified: head/sys/kern/subr_param.c
> ==============================================================================
> --- head/sys/kern/subr_param.c	Thu Oct 25 01:27:01 2012	(r242028)
> +++ head/sys/kern/subr_param.c	Thu Oct 25 01:46:20 2012	(r242029)
> @@ -278,8 +278,16 @@ init_param2(long physpages)
>  		maxusers = physpages / (2 * 1024 * 1024 / PAGE_SIZE);
>  		if (maxusers < 32)
>  			maxusers = 32;
> -		if (maxusers > 384)
> -			maxusers = 384;
> +		/*
> +		 * Clips maxusers to 384 on machines with <= 4GB RAM or 32bit.
> +		 * Scales it down 6x for large memory machines.
> +		 */
> +		if (maxusers > 384) {
> +			if (sizeof(void *) <= 4)
> +			    maxusers = 384;
> +			else
> +			    maxusers = 384 + ((maxusers - 384) / 6);
> +		}
This is unbelievably weird way to express the '64bit'. The
#ifdef _LP64 is enough there instead of the runtime check.

Also, are you sure that all our 64bit arches do not have KVA limitations ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20121025/92abe8bc/attachment.sig>


More information about the svn-src-all mailing list