]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Reduce NL_ARGMAX to 4096 to match Linux.
authorBrooks Davis <brooks@FreeBSD.org>
Thu, 4 Oct 2018 21:55:58 +0000 (21:55 +0000)
committerBrooks Davis <brooks@FreeBSD.org>
Thu, 4 Oct 2018 21:55:58 +0000 (21:55 +0000)
commit8bff61a6ba2b043cc42e29a0a957df23b74600b5
tree8d1bdbf1b8beb97a7eacbe8c1c0b8260ae26b885
parent9657b80ce7682c0737d218e48389b54db1fe16a8
Reduce NL_ARGMAX to 4096 to match Linux.

NL_ARGMAX is the maximum number of positional arguments supported by
printf(3). Prior to r308145 it was declared as 99 and not enforced.
r308145 added enforcement and increased the value to 64k.

Unfortunately, development versions of PostgreSQL used the system
definition to allocate and zero an NL_ARGMAX * 4 sized array on the
stack of its snprintf implementation with measurable performance
impacts. This has been fixed in new PostgreSQL versions, but it is
possible that other programs suffer from this problem.

A value of 4096 puts us on par with Linux and is certainly large enough
for any reasonable program.

Reviewed by: mjg
Reported by: mjg
Approved by: re (gjb)
Differential revision: https://reviews.freebsd.org/D17387
Differential revision: https://reviews.freebsd.org/D8286
include/limits.h