RFR: 8152196: SuspendibleThreadSet::yield scales poorly (original) (raw)

Derek White derek.white at oracle.com
Wed Mar 23 21:30:29 UTC 2016


On 3/23/16 4:56 PM, Kim Barrett 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 notifyall() after "nthreadsstopped--;". But the thinking is that nobody cares about the " issynchronized() -> ! issynchronized()" transition, so this was never really needed, and certainly isn't needed now. Is this correct? That’s correct. OK, Thanks for the info Kim. And I really appreciated the documentation around the signal()!

reviewed.



More information about the hotspot-gc-dev mailing list