RFR: 8308009: Generational ZGC: OOM before clearing all SoftReferences

Erik Österlund eosterlund at openjdk.org
Wed May 24 12:26:03 UTC 2023


When a major GC in generational ZGC with a different cause that doesn’t pre-clean and doesn’t clear soft references, we ask if there are allocations stalled on old. And part of that condition is to check if we are not stalled on young. So if an allocation request comes in just before such a “weak” major GC, we will say we won’t clear soft references. But after that major collection we will satisfy all the constraints to throw OOM as both an YC and OC has passed since the allocation request was installed.
The solution is to let the driver remember if it cleared soft references or not, and only throw OOM if it cleared soft references.

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

Commit messages:
 - 8308009: Generational ZGC: OOM before clearing all SoftReferences

Changes: https://git.openjdk.org/jdk/pull/14122/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14122&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8308009
  Stats: 22 lines in 6 files changed: 6 ins; 4 del; 12 mod
  Patch: https://git.openjdk.org/jdk/pull/14122.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14122/head:pull/14122

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


More information about the hotspot-gc-dev mailing list