RFR: 8310743: assert(reserved_rgn != nullptr) failed: Add committed region, No reserved region found
Axel Boldt-Christmas
aboldtch at openjdk.org
Fri Jun 30 13:19:20 UTC 2023
JDK-8309675 tried to solve the issue of NMT reporting to much committed memory by faking the virtual addresses registered when committing physical memory. This mapping was simply the `virtual address = physical offset in backing file + heap base`. This works when ZGC gets a contiguous heap which starts at the heap base. However fails if it does not start at the heap base or is discontiguous.
This proposal fixes this by keeping track of all the reserved virtual address ranges and by creating a mapping from the physical offsets to the actual reserved virtual address ranges. If the physical offsets committed maps to multiple reserved ranges, it is processed as multiple commits.
The develop flag `ZForceDiscontiguousHeapReservations` is introduced to test the discontiguous heap feature and interactions.
-------------
Commit messages:
- 8310743: assert(reserved_rgn != nullptr) failed: Add committed region, No reserved region found
Changes: https://git.openjdk.org/jdk/pull/14730/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14730&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8310743
Stats: 477 lines in 12 files changed: 429 ins; 32 del; 16 mod
Patch: https://git.openjdk.org/jdk/pull/14730.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14730/head:pull/14730
PR: https://git.openjdk.org/jdk/pull/14730
More information about the hotspot-gc-dev
mailing list