RFR(M): 8191798 redo nested ThreadsListHandle to drop Threads_lock
Erik Österlund
erik.osterlund at oracle.com
Tue May 1 19:43:47 UTC 2018
Hi Dan,
In case my opinion counts, I think this looks great.
Thank you for the thorough testing and various improvements of this patch.
Thanks,
/Erik
On 2018-05-01 19:00, Daniel D. Daugherty wrote:
> 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