RFR: Generation resizing
William Kemper
wkemper at openjdk.org
Mon Dec 5 17:04:12 UTC 2022
On Mon, 5 Dec 2022 11:07:23 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> These changes have the generational mode track the minimum mutator utilization (percentage of process time used by mutators). When it falls below a configuration percentage (GCTimeRatio), a heuristic will transfer memory capacity to whatever generation has been using more CPU time. The assumption here is that by increasing capacity, we will decrease the collection frequency and improve the MMU.
>
> src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp line 451:
>
>> 449: void ShenandoahControlThread::service_concurrent_normal_cycle(
>> 450: const ShenandoahHeap* heap, const GenerationMode generation, GCCause::Cause cause) {
>> 451: GCIdMark gc_id_mark;
>
> Why does the GCIdMark need to move around?
I pulled up the gcid mark because every old generation collection is preceded by a "bootstrap" young collection. Logically, this bootstrap phase belongs to the old collection so it should have the same GC id as the subsequent old marking phase.
-------------
PR: https://git.openjdk.org/shenandoah/pull/177
More information about the shenandoah-dev
mailing list