On 16/12/2019 23:42, Cy Schubert wrote:
In message <201912162355.xbgntuq6078...@repo.freebsd.org>, "Pedro F.
Giffuni" w
rites:
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 tha
t
   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.
This doesn't seem right. Each bump should be for a distinct change and
documented as such.

TBH, it is just not worth it: this change will currently benefit only one port (french/aster) and the update won't be committed until after the MFC is done.

It is rather more painful that the change only fixes the case for some platforms.

Pedro.

Also, it's not like we're saving any build time anyway. sys/syslimits.h
will cause a substantial portion to be rebuilt anyway.

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 functi
on */
+#ifndef __ILP32__
+#define        ARG_MAX       (2 * 256 * 1024)  /* max bytes for an exec functi
on */
+#else
+#define        ARG_MAX           (256 * 1024)  /* max bytes for KVA-starved ar
chs */
+#endif
  #ifndef CHILD_MAX
  #define       CHILD_MAX                  40   /* max simultaneous processes *
/
  #endif


_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to