RFR: 8368089: G1: G1PeriodicGCTask::should_start_periodic_gc may use uninitialised value if os::loadavg is unsupported

Guanqiang Han ghan at openjdk.org
Sun Sep 21 23:59:24 UTC 2025


Please review this change. Thanks!

**Description:**

Previously the check combined loadavg() failure and threshold comparison in a single condition. When os::loadavg() returned -1, `recent_load` contained an undefined value but was still logged as if it was a real load average, leading to misleading log output.

**Fix:**

This change separates the failure case from the combined check:
- If os::loadavg() returns -1, log "System loadavg not supported" and skip.
- Only compare `recent_load` to the threshold when loadavg() succeeds.

**Test:**

GHA

-------------

Commit messages:
 - 8368089: G1: G1PeriodicGCTask::should_start_periodic_gc may use uninitialised value if os::loadavg is unsupported

Changes: https://git.openjdk.org/jdk/pull/27413/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27413&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8368089
  Stats: 10 lines in 1 file changed: 5 ins; 0 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/27413.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27413/head:pull/27413

PR: https://git.openjdk.org/jdk/pull/27413


More information about the hotspot-gc-dev mailing list