svn commit: r242029 - head/sys/kern

Alfred Perlstein alfred at FreeBSD.org
Thu Oct 25 01:46:21 UTC 2012


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);
+		}
 	}
 
 	/*


More information about the svn-src-all mailing list