RFR: 8225035: Thread stack size issue caused by large TLS size
David Holmes
david.holmes at oracle.com
Thu Jun 27 18:12:55 UTC 2019
Trimming ....
On 27/06/2019 12:35 pm, Jiangli Zhou wrote:
> On Thu, Jun 27, 2019 at 9:23 AM Florian Weimer <fweimer at redhat.com> wrote:
>> I think you can handle the guard size in this way:
>>
>> pthread_attr_setguardsize(&attr, guard_size);
>>
>> size_t stack_adjust_size = 0;
>> if (AdjustStackSizeForTLS) {
>> size_t minstack_size = get_minstack(&attr);
>> size_t tls_size = minstack_size - vm_page_size() - PTHREAD_STACK_MIN;
>> // In glibc before 2.27, tls_size still includes guard_size.
>> // In glibc 2.27 and later, guard_size is automatically
>> // added to the stack size by pthread_create.
>> // In both cases, the guard size is taken into account.
>> stack_adjust_size += tls_size;
>> } else {
>> stack_adjust_size += guard_size;
>> }
>
> Is the vm_page_size() counted for the dl_pagesize? As long as others
> are okay with the above suggested adjustment, it looks good to me.
> Thomas, David and others, any objection?
I find the above acceptable. I've been waiting for the dust to settle.
Thanks,
David
> Thanks and best regards,
> Jiangli
>>
>> Thanks,
>> Florian
More information about the hotspot-runtime-dev
mailing list