RFR: 8255984: Shenandoah: "adaptive" heuristic is prone to missing load spikes

earthling-amzn github.com+71722661+earthling-amzn at openjdk.java.net
Thu Nov 12 22:22:06 UTC 2020


This change adds a "reactive" heuristic for triggering concurrent GC cycles.

The reactive heuristic maintains a margin of error and an allocation spike detection mechanism to trigger cycles somewhat more aggressively than the 'adaptive' heuristic. This heuristic 'reacts' to the outcome of GC cycles by adjusting the sensitivity of the triggers.

JBS ticket is here: https://bugs.openjdk.java.net/browse/JDK-8255984

The "adaptive" heuristic remains the default.

Steps to reproduce and test will follow shortly (there are no new jtreg test failures for Shenandoah with this change).

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

Commit messages:
 - Merge 'reactive' heuristic into 'adaptive' heuristic
 - Incorporate review feed back
 - Add a "reactive" heuristic for triggering concurrent GC cycles

Changes: https://git.openjdk.java.net/jdk/pull/1099/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1099&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8255984
  Stats: 378 lines in 4 files changed: 357 ins; 12 del; 9 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1099.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1099/head:pull/1099

PR: https://git.openjdk.java.net/jdk/pull/1099



More information about the hotspot-gc-dev mailing list