RFR: 8048556: Unnecessary GCLocker-initiated young GCs

Fairoz Matte fairoz.matte at oracle.com
Wed Jul 24 10:01:06 UTC 2019


Hi,

Please review the change to avoid Unnecessary GCLocker Initiated GC's.

JBS: https://bugs.openjdk.java.net/browse/JDK-8048556  
Webrev: http://cr.openjdk.java.net/~fmatte/8048556/webrev.00/ 

Background: This fix is proposed by "Tony Printezis" in the comments section. 
GC locker-initiated young GC happens immediately after another young GC. 

The fix is to send the right gc counts and fixing the vm gc op not to signal "full"
Reading right GC count from "GC_locker::jni_unlock(JavaThread* thread)" method and 
provide implementations for GCH, PS, and G1 to get that count in Collect() method.
I hope I have done justification to Tony's approach.

I have modified a regression test (again from Tony's work) that verifies when "GCLocker Initiated GC" 
occurs, It runs gc only if young generation occupancy is > 75%.

Thanks,
Fairoz




More information about the hotspot-gc-dev mailing list