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