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