RFR (XXS): 8149442 : MonitorInUseLists should be on by default, deflate idle monitors taking too long

David Simms david.simms at oracle.com
Fri Apr 1 08:48:35 UTC 2016


Greetings,

Bug: https://bugs.openjdk.java.net/browse/JDK-8149442
Webrev: http://cr.openjdk.java.net/~dsimms/8149442/

Safe-point's "deflate_idle_monitors" (clean up task during 
Safepoint::begin()), constantly scans all monitors, the entire 
population. Setting MonitorInUseLists to true by default would seem 
prudent, as the it reduces the scan to "InUse" thread lists. Reduction 
in "deflate idle monitor" execution time of up to a magnitude.

    There are certain applications (notably SPECjbb2013 use of ForkJoin)
    whose Java lock monitor total populations are quite high, but the
    actual number of in use monitors is low.

    Why these total populations grow so large, further work to reduce
    "deflate idle monitor" operations, is beyond the scope of this bug
    (see JDK-7021979 & JDK-8153224).

Testing: no regressions spotted on the following benchmarks:

  * SpecJbb2005
  * SpecJbb2008
  * SpecJbb2013
  * Volano



Cheers
/ David Simms


More information about the hotspot-runtime-dev mailing list