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.
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.
- 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