RFR: 8324649: Shenandoah: refactor implementation of free set [v6]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Fri Feb 9 09:16:06 UTC 2024
On Wed, 7 Feb 2024 18:30:48 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp line 37:
>>
>>> 35: NotFree, // Region has been retired and is not in any free set: there is no available memory.
>>> 36: Mutator, // Region is in the Mutator free set: available memory is available to mutators.
>>> 37: Collector, // Region is in the Collector free set: available memory is reserved for evacuations.
>>
>> When mutators evacuate the target of an LRB, do they use `Mutator` or `Collector`. I assume the former? In that case, I'd say for Collector: `available memory is reserved for collector threads for evacuation`.
>
> actually, the collector reserve is for all evacuation, whether performed by collector worker threads or by mutator threads doing LRB handling.
Thanks, makes sense! Might be worthwhile if possible to mention this here somewhere may be.
For example, may be:
Mutator, // available for object allocation by mutator
Collector, // available for evacuations by collector (including mutator LRB)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17561#discussion_r1484052864
More information about the shenandoah-dev
mailing list