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