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