Integrated: 8310743: assert(reserved_rgn != nullptr) failed: Add committed region, No reserved region found

Axel Boldt-Christmas aboldtch at openjdk.org
Mon Jul 3 14:10:12 UTC 2023


On Fri, 30 Jun 2023 13:07:17 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

> 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.
> 
> Testing: 
>  * Added test on all Oracle platforms
>  * GHA
>  * Running tier1-3

This pull request has now been integrated.

Changeset: f393975d
Author:    Axel Boldt-Christmas <aboldtch at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/f393975d1b9423835a7aa42f6ffc0656499701d7
Stats:     477 lines in 12 files changed: 429 ins; 32 del; 16 mod

8310743: assert(reserved_rgn != nullptr) failed: Add committed region, No reserved region found

Reviewed-by: stefank, ayang

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

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


More information about the hotspot-gc-dev mailing list