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