RFR: 8268127: Shenandoah: Heap size may be too small for region to align to large page size [v5]

Zhengyu Gu zgu at openjdk.java.net
Tue Jun 8 19:56:42 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

Zhengyu Gu 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 ten additional commits since the last revision:

 - Added extra line
 - Merge branch 'master' into JDK-8268127-large-page-small-heap
 - Aleksey's comment
 - rkennke's comment
 - Merge branch 'master' into JDK-8268127-large-page-small-heap
 - Window build
 - Fix compilation error
 - v2
 - v1

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4320/files
  - new: https://git.openjdk.java.net/jdk/pull/4320/files/e2c6a99e..d490e06e

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4320&range=03-04

  Stats: 19081 lines in 183 files changed: 16773 ins; 1080 del; 1228 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