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

earthling-amzn github.com+71722661+earthling-amzn at openjdk.java.net
Fri Nov 13 21:02:05 UTC 2020


On Fri, 13 Nov 2020 17:24:01 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> earthling-amzn has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Remove const qualifier from should_start_gc
>>    
>>    This lets the heuristics update state without const_casts.
>>  - Rename ShenandoahReactive flags to ShenandoahAdaptive flags.
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp line 266:
> 
>> 264:   size_t allocation_headroom = available;
>> 265: 
>> 266:   size_t spike_headroom = capacity / 100 * ShenandoahAllocSpikeFactor;
> 
> I suspect `ShenandoahAllocSpikeFactor` handling is not needed anymore, as this new code is supposed to provide the similar cushion of few sigmas off the average value. That was my poor-mans solution to the same problem this patch resolves. You can remove the flag and update the comments in this block to mention only accumulated penalties.

I'll make some test runs without this flag.

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

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



More information about the hotspot-gc-dev mailing list