RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size
Zhengyu Gu
zgu at openjdk.java.net
Wed Jun 2 20:55:52 UTC 2021
TestLargePages.java failed on Linux AArch64, where large page size is 500M, and the test is configured to run with much smaller heap, e.g. 131M.
This is *not* AArch64 specific, just none of our regular test machines has large page setup.
I purpose two invariants:
1) Heap size always aligns up to page size that is requested.
2) Region size always aligns up to page size that is requested if heap is large enough to accommodate them. Otherwise, it aligns up to regular page size.
This partially reverts JDK-8266802.
Obviously, this is a corner case and is unlikely seen in real word. The alternative is to disable UseLargePages if heap size is too small, e.g. align_up(heap_size, page_size) < MIN_NUM_REGIONS.
Test:
hotspot_gc_shenandoah
-------------
Commit messages:
- v2
- v1
Changes: https://git.openjdk.java.net/jdk/pull/4320/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8268127
Stats: 32 lines in 4 files changed: 19 ins; 1 del; 12 mod
Patch: https://git.openjdk.java.net/jdk/pull/4320.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/4320/head:pull/4320
PR: https://git.openjdk.java.net/jdk/pull/4320
More information about the hotspot-gc-dev
mailing list