Request for approval: 6929067: Stack guard pages should be removed when thread is detached

Andrew Haley aph at redhat.com
Tue Aug 17 01:14:20 PDT 2010


On 08/16/2010 11:57 PM, David Holmes wrote:
> Andrew Haley said the following on 08/16/10 18:42:
>> On 08/16/2010 03:46 AM, David Holmes wrote:
>>> Looking further into this, isn't the only thread that can be affected by
>>> this the main thread? So we could perform this only if
>>> os::is_initial_thread() returns true?
>>
>> I suppose we could, yes.  I wonder if it'd be a latent bug to assume
>> that Java threads could never use growable mappings, though.  Doing
>> this makes the system a bit less robust.
> 
> As I understand it neither LinuxThreads nor NPTL have used growable
> mappings for a very long time. Even if there were a reason to go back to
> this it would have to be done in a compatible way and so there would be
> time to "enhance" the VM to accommodate it.

Oh, I'm sure there would.  The problem is that this bug is very
subtle, and if it came back again it would be just as hard to
diagnose.  If the change to use growable mappings were made upstream
on some platform, would we notice?

>> Do you really think that the cost of get_stack_bounds() is significant in
>> the context of terminating a thread?
> 
> It can be. This has introduced a new bottleneck on the thread
> termination path and we're seeing that affect on certain systems (the
> details of which I can't go in to).

Aha, so this is not just a theoretical concern.  Fair enough.  It
seems like I may have falsely assumed the work in the kernel to
terminate a thread would be greater than this.

Andrew.


More information about the hotspot-dev mailing list