RFR: 8152196: SuspendibleThreadSet::yield scales poorly

Kim Barrett kim.barrett at oracle.com
Wed Mar 23 20:56:19 UTC 2016


> On Mar 23, 2016, at 3:07 PM, Derek White <derek.white at oracle.com> wrote:
> 
> On 3/18/16 3:58 PM, Kim Barrett wrote:
>> Please review this fix for a performance scaling problem in
>> SuspendibleThreadSet, leading to unnecessary additional safepoint
>> latency as the number of suspendible threads increases. See the CR for
>> details of the problem and some performance data.
>> 
>> CR:
>> 
>> https://bugs.openjdk.java.net/browse/JDK-8152196
>> 
>> 
>> Webrev:
>> 
>> http://cr.openjdk.java.net/~kbarrett/8152196/webrev.00/
>> 
>> 
>> Testing:
>> JPRT, RBT GC Nightly, local specjbb2015.
>> 
> Hi Kim, this looks good.
> 
> I looked at the suspendibleThreadSet.cpp, line 88 for a bit. There used to be notify_all() after "_nthreads_stopped--;". But the thinking is that nobody cares about the " is_synchronized() -> ! is_synchronized()" transition, so this was never really needed, and certainly isn't needed now. Is this correct?

That’s correct.




More information about the hotspot-gc-dev mailing list