JDK-8221392 : Reduce ConcurrentGCThreads spinning during start up
Type:Enhancement
Component:hotspot
Sub-Component:gc
Affected Version:8,11,13
Priority:P4
Status:Resolved
Resolution:Fixed
Submitted:2019-03-25
Updated:2019-11-22
Resolved:2019-03-27
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
During startup, ConcurrentGCThreads end up in a loop sleeping for 1ms over and over (typically 30-50 times), until is_init_completed() is true. This is not optimal, and we should instead have them wait until they are signaled.
Comments
Did some measurements with Shenandoah, and there is no conclusive evidence it improves startup/efficiency for us to care. Dropping this from 11u backport queue. We can reconsider if there is new need/evidence appears.
17-09-2019
Fix Request (11u)
This improves startup of GC implementation with concurrent control threads. Patch does not apply cleanly to 11u, because of context changes. Patched builds pass tier1 tests. 11u RFR: https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2019-June/001326.html