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