JDK-8215548 : G1PeriodicGCSystemLoadThreshold needs to be a double
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-12-18
  • Updated: 2019-01-03
  • Resolved: 2018-12-20
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.

To download the current JDK release, click here.
JDK 12 JDK 13
12 b26Fixed 13Fixed
Related Reports
CSR :  
Relates :  
Relates :  
Description
The current data type for G1PeriodicGCSystemLoadThreshold is an uintx. However in regular use the load we want to use a threshold for is below 1.0, so the existing integer does not help.

Change to double.
Comments
Original bug report at: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-December/024357.html
20-12-2018

Original bug report: I found an issue related to the loadaverage threshold. At the moment users can specify only an integer value manageable(uintx, G1PeriodicGCSystemLoadThreshold But we compare it with double recent_load. double recent_load; if ((G1PeriodicGCSystemLoadThreshold > 0) && (os::loadavg(&recent_load, 1) == -1 || recent_load > G1PeriodicGCSystemLoadThreshold)) { log_debug(gc, periodic)("Load %1.2f is higher than threshold " UINTX_FORMAT ". Skipping.", recent_load, G1PeriodicGCSystemLoadThreshold); return false; } In a normal situation loadaverage will be between 0 and 1... it can be bigger than 1 as well, but it signals about high load in the host system. So, users can't specify something like 0.5 or even lower.
19-12-2018