svn commit: r355828 - head/sys/sys

Pedro F. Giffuni pfg at FreeBSD.org
Mon Dec 16 23:55:31 UTC 2019


Author: pfg
Date: Mon Dec 16 23:55:30 2019
New Revision: 355828
URL: https://svnweb.freebsd.org/changeset/base/355828

Log:
  Double the size of ARG_MAX on LP64 platforms.
  
  As modern software keeps growing in size, we get requests to update the
  value of ARG_MAX in order to link the resulting object files. Other OSs
  have much higher values but Increasiong ARG_MAX has a multiplied effect on
  KVA, so just bumping this value is dangerous in some archs like ARM32 that
  can exhaust KVA rather easily.
  
  While it would be better to have a unique value for all archs, other OSs
  (Illumos in partidular) can have different ARG_MAX limits depending on the
  platform,  For now we want to be really conservative so we are avoidng
  the change on ILP32 and in the alternative case we only double it since that
  seems to work well enough for recent Code Aster.
  
  I was planning to bump the _FreeBSD_version but it was bumped recently
  (r355798) so we can reuse the 1300068 value for this change.
  
  PR:		241710
  MFC after:	5 days

Modified:
  head/sys/sys/syslimits.h

Modified: head/sys/sys/syslimits.h
==============================================================================
--- head/sys/sys/syslimits.h	Mon Dec 16 23:08:09 2019	(r355827)
+++ head/sys/sys/syslimits.h	Mon Dec 16 23:55:30 2019	(r355828)
@@ -48,7 +48,11 @@
  * Do not add any new variables here.  (See the comment at the end of
  * the file for why.)
  */
-#define	ARG_MAX			262144	/* max bytes for an exec function */
+#ifndef __ILP32__
+#define	ARG_MAX	      (2 * 256 * 1024)	/* max bytes for an exec function */
+#else
+#define	ARG_MAX		  (256 * 1024)	/* max bytes for KVA-starved archs */
+#endif
 #ifndef CHILD_MAX
 #define	CHILD_MAX		   40	/* max simultaneous processes */
 #endif


More information about the svn-src-head mailing list