RFR: Initial sizing refactor [v2]

Y. Srinivas Ramakrishna ysr at openjdk.org
Wed Dec 21 22:05:20 UTC 2022


On Tue, 20 Dec 2022 20:12:39 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> Some things to highlight here:
>> * This change borrows a bit of code from G1 to handle processing of command line arguments used to size the young generation.
>> * A (hard coded for now) threshold on the difference between young/old time has been added to reduce resizing churn.
>> * The adaptive heuristic doesn't consider the `soft_tail` anymore. `available` is already adjusted for the soft max capacity.
>> * `SoftMaxHeapSize` is used to compute the soft max size and max size for the young generation.
>
> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Improve assertions and comments

src/hotspot/share/gc/shenandoah/shenandoahMmuTracker.cpp line 268:

> 266: }
> 267: 
> 268: size_t round_down_to_multiple_of_region_size(size_t bytes) {

I could have sworn there was a rounding utility/macro extensively used in sizing code, but the only one I found was a power of 2 rounder. The alternative, if one maintained a log of heap region size (being a power of 2) would be to use a bit-mask here.

Anyway, nothing to do here; this looks good for now.

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

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


More information about the shenandoah-dev mailing list