RFR: 8314935: Shenandoah: Unable to throw OOME on back-to-back Full GCs

Y. Srinivas Ramakrishna ysr at openjdk.org
Sat Sep 2 01:28:46 UTC 2023


On Wed, 30 Aug 2023 23:33:57 GMT, William Kemper <wkemper at openjdk.org> wrote:

> Retry allocations until at least one full gc is complete, do not spin unnecessarily when gc is not making progress.

A couple of comments about harmonizing the code in GenShen tip with that here, but otherwise looks good.

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.

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.

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

Marked as reviewed by ysr (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15500#pullrequestreview-1607810441
PR Review Comment: https://git.openjdk.org/jdk/pull/15500#discussion_r1313674186
PR Review Comment: https://git.openjdk.org/jdk/pull/15500#discussion_r1313677385


More information about the shenandoah-dev mailing list