RFR: 8225035: Thread stack size issue caused by large TLS size
Florian Weimer
fweimer at redhat.com
Thu Jun 27 07:57:20 UTC 2019
* Thomas Stüfe:
>> I think
>>
>> stack_adjust_size += guard_size;
>>
>> is redundant with the get_minstack-based adjustment because it is either
>> included in it directly in the get_minstack value, or indirectly in the
>> updated stack size computation in glibc (where it adds the guard size
>> internally).
>
> Please do not change this!
>
> To me and I guess many others it is very important that nothing at all
> changes if this workaround is off.
That has already happened because recent glibc adds the guard size to
the stack size internally now.
But what I meant: only perform the += adjustment above for the
!AdjustStackSizeForTLS case.
>> I suspect this new flag is is working well because it effectively
>> adds 20 KiB to all requested stack sizes (page size plus
>> PTHREAD_MIN_STACK). The static TLS size adjustment may not matter
>> at all. On older glibcs, the number is even higher because your
>> code adds the guard size twice (once in __pthread_get_minstack, once
>> in the Hotspot code).
>
> Which, again, would be an argument for a much simpler
> "-XX:MinStackSize" option...
Indeed.
Thanks,
Florian
More information about the hotspot-runtime-dev
mailing list