RFR: 8255984: Shenandoah: "adaptive" heuristic is prone to missing load spikes [v4]
github.com+71722661+earthling-amzn at openjdk.java.net
Mon Nov 16 19:03:19 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).
earthling-amzn has updated the pull request incrementally with two additional commits since the last revision:
- Remove dependency from allocation rate to adaptive heuristic
- Defend against underflow and division by zero
- all: https://git.openjdk.java.net/jdk/pull/1099/files
- new: https://git.openjdk.java.net/jdk/pull/1099/files/6ef8dc68..3ec8f3c5
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1099&range=03
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1099&range=02-03
Stats: 29 lines in 2 files changed: 5 ins; 10 del; 14 mod
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1099/head:pull/1099
More information about the hotspot-gc-dev