RFR: 8314935: Shenandoah: Unable to throw OOME on back-to-back Full GCs
Y. Srinivas Ramakrishna
ysr at openjdk.org
Wed Sep 6 17:49:40 UTC 2023
On Tue, 5 Sep 2023 20:30:36 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp line 46:
>>
>>> 44: volatile size_t _success_full_gcs;
>>> 45: size_t _alloc_failure_degenerated;
>>> 46: size_t _alloc_failure_degenerated_upgrade_to_full;
>>
>> In GenShen tip, `_alloc_failure_degenerated_upgrade_to_full` is also declared volatile.
>
> `_alloc_failure_degenerated_upgrade_to_full` is only changed on a safepoint, so it shouldn't need any additional synchronization.
OK, as long as this resolves in genshen tip.
>> src/hotspot/share/gc/shenandoah/shenandoahCollectorPolicy.hpp line 87:
>>
>>> 85: void print_gc_stats(outputStream* out) const;
>>> 86:
>>> 87: size_t full_gc_count() const {
>>
>> Is it worthwhile to harmonize this with tip and rename to `get_fullgc_count()` ?
>> Unless the idea is to change genshen tip to use `full_gc_count()` like here when you pull these changes down.
>
> I went with the style convention established by `cycle_counter`. I don't feel strongly about this. If you prefer `get_full_gc_count`, I can change that here (otherwise, I'll change genshen to use `full_gc_count`).
full_gc_count is fine; so long as these eventually get resolved in genshen tip.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15500#discussion_r1317633732
PR Review Comment: https://git.openjdk.org/jdk/pull/15500#discussion_r1317633706
More information about the shenandoah-dev
mailing list