RFR: 8255984: Shenandoah: "adaptive" heuristic is prone to missing load spikes [v3]
earthling-amzn
github.com+71722661+earthling-amzn at openjdk.java.net
Mon Nov 16 17:03:04 UTC 2020
On Mon, 16 Nov 2020 08:27:59 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> earthling-amzn has updated the pull request incrementally with six additional commits since the last revision:
>>
>> - Inline calls to gc decision methods (vestige of an earlier design)
>> - Use os::elapsedTime to avoid type issues and to be consistent with other heuristics code
>> - Reuse instantaneous_rate method instead of duplicating code
>> - Rename variables to improve readability
>> - Make logging messages more consistent
>> - Restore call to reset allocation counter at cycle start
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp line 305:
>
>> 303:
>> 304: ShenandoahAllocationRate::ShenandoahAllocationRate(ShenandoahAdaptiveHeuristics *heuristics) :
>> 305: _heuristics(heuristics),
>
> Are we carrying `heuristics` here just to get access to `spike_threshold_sd`? I wonder if it is cleaner to just pass spike threshold to `is_spiking` then?
I'll re-work this dependency and also get rid of the `friends` declaration.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1099
More information about the shenandoah-dev
mailing list