svn commit: r355828 - head/sys/sys

Pedro Giffuni pfg at FreeBSD.org
Tue Dec 17 18:28:23 UTC 2019


On 16/12/2019 23:42, Cy Schubert wrote:
> In message <201912162355.xBGNtUq6078840 at 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
>>
>


More information about the svn-src-all mailing list