On Wed, Nov 29, 2017 at 10:16:54AM -0800, Carlos O'Donell wrote:
On 11/29/2017 07:18 AM, Florian Weimer wrote:
On 11/29/2017 03:59 PM, Szabolcs Nagy wrote:
The change can be made for aarch64 only
That doesn't seem to be the case, looking at the patch.
So what you intended to do, exactly?
A 64 KiB probe interval on legacy 32-bit architectures is really a
no-go. It means we have to increase the guard region size to 64 KiB.
But we cannot do that: The guard allocation comes out of the overall
thread stack size, and existing applications do not expect that 60K
of configured stack suddenly becomes unavailable. Adding the guard
size on top of the allocation will break setups which are carefully
tuned for a maximum number of threads.
We cannot be held to account for carefully tuned applications, such
applications have to be tuned again for newer glibc.
I think we *could* do this for 64-bit and 32-bit AArch64/ARM, but I
don't see the value in doing it for 32-bit.
If 64k guard is mandatory for safety against jumping over the guard
zone, then I don't think it's possible to "re-tune" 32-bit apps for
the new requirement. This imposes a relatively small limit on possible
number of threads the process can create.