Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Dec 2019 02:40:41 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r355968 - stable/12/sys/sys
Message-ID:  <201912210240.xBL2efl0082812@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pfg
Date: Sat Dec 21 02:40:40 2019
New Revision: 355968
URL: https://svnweb.freebsd.org/changeset/base/355968

Log:
  MFC r355828:
  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 particular) 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.
  
  Bump the _FreeBSD_version for this change.
  
  PR:		241710

Modified:
  stable/12/sys/sys/param.h
  stable/12/sys/sys/syslimits.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/sys/param.h
==============================================================================
--- stable/12/sys/sys/param.h	Fri Dec 20 23:08:10 2019	(r355967)
+++ stable/12/sys/sys/param.h	Sat Dec 21 02:40:40 2019	(r355968)
@@ -60,7 +60,7 @@
  *		in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1201505	/* Master, propagated to newvers */
+#define __FreeBSD_version 1201506	/* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,

Modified: stable/12/sys/sys/syslimits.h
==============================================================================
--- stable/12/sys/sys/syslimits.h	Fri Dec 20 23:08:10 2019	(r355967)
+++ stable/12/sys/sys/syslimits.h	Sat Dec 21 02:40:40 2019	(r355968)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912210240.xBL2efl0082812>