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