[jdk21u-dev] RFR: 8351500: G1: NUMA migrations cause crashes in region allocation [v2]
Thomas Stuefe
stuefe at openjdk.org
Thu Mar 27 08:49:57 UTC 2025
> This pull request contains a backport of commit [37ec7962](https://github.com/openjdk/jdk/commit/37ec796255ae857588a5c7e0d572407dd81cbec9) from the [openjdk/jdk](https://git.openjdk.org/jdk) repository.
>
> The commit being backported was authored by Thomas Stuefe on 13 Mar 2025 and was reviewed by Roman Kennke, Stefan Johansson and Thomas Schatzl.
>
> ---
>
> Please consider this patch for backporting. It fixes a G1 crash we see at a customer with a very large NUMA installation.
>
> The backported patch was in itself not sufficient. For JDK 21 we also must fix up `G1Allocator::attempt_allocation_force`, see commit [7ee2df2ac9c14599a274250dd8ff58c7e6979611](https://github.com/openjdk/jdk21u-dev/pull/1488/commits/7ee2df2ac9c14599a274250dd8ff58c7e6979611) to use the NUMA node index handed in instead of querying libnuma on its own.
>
> Testing: I tested the patch with a change mimicking tons of NUMA node migrations. Without patch we get crashes/asserts, with patch everything works (I ran a modified version of TestJNICriticalStressTest.java, since that exercises the crashing paths).
Thomas Stuefe has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
- Merge branch 'openjdk:master' into backport-tstuefe-37ec7962-master
- JDK-21-specific addition
- Backport 37ec796255ae857588a5c7e0d572407dd81cbec9
-------------
Changes:
- all: https://git.openjdk.org/jdk21u-dev/pull/1488/files
- new: https://git.openjdk.org/jdk21u-dev/pull/1488/files/7ee2df2a..bb958d3c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=1488&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=1488&range=00-01
Stats: 16633 lines in 383 files changed: 14653 ins; 741 del; 1239 mod
Patch: https://git.openjdk.org/jdk21u-dev/pull/1488.diff
Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/1488/head:pull/1488
PR: https://git.openjdk.org/jdk21u-dev/pull/1488
More information about the jdk-updates-dev
mailing list