RFR: 8152196: SuspendibleThreadSet::yield scales poorly

Kim Barrett kim.barrett at oracle.com
Wed Mar 23 20:57:14 UTC 2016


> On Mar 23, 2016, at 4:56 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
> 
>> 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.

Oh, and thanks for reviewing.



More information about the hotspot-gc-dev mailing list