RFR: 8327097: GenShen: Align PLAB sizes down rather than up [v9]

Kelvin Nilsen kdnilsen at openjdk.org
Fri Mar 22 18:54:45 UTC 2024


> When adjusting LAB sizes, round down rather than rounding up.  Otherwise, we may violate the ShenandoahHumongousThreshold bound.

Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 28 commits:

 - Merge branch 'master' of https://git.openjdk.org/shenandoah into enforce-humongous-threshold-on-tlab
 - Respond to reviewer feedback
 - Fix up a few other places where PLAB min size or current size gets set
   
   This may explain how unaligned sizes were being detected by existing
   assertions.
 - Add comments to clarify behavior of retire_plab
 - Do not align_up size of object allocated in plab slow
   
   Align the plab size, but not the size of the object to be allocated within the plab.
   If we increase the size of the allocated object, this creates confusion in that the
   object's size reported by its header does not span all of the bytes allocated for the
   object, so the memory is not parsable during remembered set scanning.
 - Force size to align up
   
   A newly allocated PLAB needs, at minimum, to be as large as the object
   that is goign to be allocated from within it.
 - Disable TestHumongousThreshold test on generic-all for now
   
   This has experienced timeout failures on multiple platforms.
 - Cleanup code in response to reviewer feedback
 - Add comment to explain requirement for PLAB alignment
 - Assure PLAB alignment by construction rather than fixup
 - ... and 18 more: https://git.openjdk.org/shenandoah/compare/71fc4c81...b0cba3e8

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

Changes: https://git.openjdk.org/shenandoah/pull/401/files
  Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=401&range=08
  Stats: 122 lines in 9 files changed: 46 ins; 32 del; 44 mod
  Patch: https://git.openjdk.org/shenandoah/pull/401.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/401/head:pull/401

PR: https://git.openjdk.org/shenandoah/pull/401


More information about the shenandoah-dev mailing list