RFR: Initial sizing refactor

Y. Srinivas Ramakrishna ysr at openjdk.org
Tue Dec 20 01:15:14 UTC 2022


On Fri, 16 Dec 2022 00:36:41 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.

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

> 83: 
> 84: void ShenandoahMmuTracker::record(ShenandoahGeneration* generation) {
> 85:   // This is only called by the control thread or the VM thread.

Would it be worthwhile asserting the calling thread's identity here, just to catch the problem early if someone were to try to do it from a different thread in the future? (although i can't imagine why anyone would.)

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

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


More information about the shenandoah-dev mailing list