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
Greetings,
We have a fix for the following Thread-SMR bug:
JDK-8191798 redo nested ThreadsListHandle to drop Threads_lock
https://bugs.openjdk.java.net/browse/JDK-8191798
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
SafeThreadsListPtr.
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:
http://cr.openjdk.java.net/~dcubed/8191798-webrev/1_for_jdk_jdk.full_no_code_motion/
This is the webrev to look at if you want to see the entire
proposed fix without code motion noise.
http://cr.openjdk.java.net/~dcubed/8191798-webrev/1_for_jdk_jdk.code_motion_only/
This webrev is only code motion and is here for completeness.
http://cr.openjdk.java.net/~dcubed/8191798-webrev/1_for_jdk_jdk.full_with_code_motion/
This webrev is everything and is here for completeness.
Testing:
- Mach5
builds-tier1,jdk-tier1,jdk-tier2,jdk-tier3,hs-tier1,hs-tier2,hs-tier3
- 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