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 hotspot-gc-dev mailing list