svn commit: r245469 - head/sys/kern

Alfred Perlstein alfred at FreeBSD.org
Tue Jan 15 19:26:18 UTC 2013


Author: alfred
Date: Tue Jan 15 19:26:17 2013
New Revision: 245469
URL: http://svnweb.freebsd.org/changeset/base/245469

Log:
  Do not autotune ncallout to be greater than 18508.
  
  When maxusers was unrestricted and maxfiles was allowed to autotune
  much higher the result was that ncallout which was based on maxfiles
  and maxproc grew much higher than was needed.
  
  To fix this clip autotuning to the same number we would get with
  the old maxusers algorithm which would stop scaling at 384
  maxusers.
  
  Growing ncalout higher is not likely to be needed since most consumers
  of timeout(9) are gone and any higher value for ncallout causes the
  callwheel hashes to be much larger than will even be needed for
  most applications.
  
  MFC after:      1 month
  
  Reviewed by:	mav

Modified:
  head/sys/kern/subr_param.c

Modified: head/sys/kern/subr_param.c
==============================================================================
--- head/sys/kern/subr_param.c	Tue Jan 15 18:50:40 2013	(r245468)
+++ head/sys/kern/subr_param.c	Tue Jan 15 19:26:17 2013	(r245469)
@@ -326,8 +326,11 @@ init_param2(long physpages)
 
 	/*
 	 * XXX: Does the callout wheel have to be so big?
+	 *
+	 * Clip callout to result of previous function of maxusers maximum
+	 * 384.  This is still huge, but acceptable.
 	 */
-	ncallout = 16 + maxproc + maxfiles;
+	ncallout = imin(16 + maxproc + maxfiles, 18508);
 	TUNABLE_INT_FETCH("kern.ncallout", &ncallout);
 
 	/*


More information about the svn-src-head mailing list