RFR(M): 8191798 redo nested ThreadsListHandle to drop Threads_lock

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue May 1 17:00:22 UTC 2018


We have a fix for the following Thread-SMR bug:

     JDK-8191798 redo nested ThreadsListHandle to drop Threads_lock

Erik O is the primary author for this fix; I've only made minor tweaks
here and there to the comments, the code and the tests. I have the
Thread-SMR stress testing setup on my Solaris-X64 server so I'm the
one shepherding the fix forward.

Summary: Refactor Thread hazard ptrs and nested ThreadsLists into

Hazard ptr management logic remains the same, but the nested ThreadsList
management logic uses a linked list of SafeThreadsListPtr and safe counters
instead of a linked list of NestedThreadsList and the Threads_lock.

Webrev URLs:

     This is the webrev to look at if you want to see the entire
     proposed fix without code motion noise.

     This webrev is only code motion and is here for completeness.

     This webrev is everything and is here for completeness.

- Mach5 
   - multiple rounds - no test failures
- Solaris X64 Thread-SMR stress testing - 2 x 24+ hour runs - no failures
   related to these changes

Thanks, in advance, for any comments, suggestions or questions.

Dan and Erik

More information about the hotspot-runtime-dev mailing list