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