RFR: Mixed evacuation [v6]
Kelvin Nilsen
kdnilsen at openjdk.java.net
Wed Apr 21 21:29:42 UTC 2021
On Wed, 21 Apr 2021 10:56:37 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Change definition of CollectionThresholdGarbagePercent
>>
>> This is now defined to equal ShenandoahGarbageThreshold, which seems to have
>> a default value of 25. The effect on running workloads is to choose more
>> regions for the collection set than was observed with the previous
>> configuration.
>>
>> Also addressed several improvements in white space and comments.
>>
>> The code now runs tier1 and hotspot_gc_shenandoah without regressions. It
>> also succsessfully runs an Extremem stress test up until the point of
>> failure due to triggering of full GC (after 113 completed GC passes, including
>> two old-gen GC passes).
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveOldHeuristics.hpp line 29:
>
>> 27:
>> 28: #include "gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp"
>> 29: #include "gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp"
>
> I don't think you need to include shenandoahAdaptiveHeuristics.hpp here.
The reason for including is to provide definition of ShenandoahAllocationRate, which is used by both ShenandoahAdatpvieHeuristics and ShenandoahAdaptiveOldHeuristics. The code will compile if I remove the include here, but insert it into shenandoahAdaptiveOldHeuristics.cpp. That's how the new commit does it.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2018, 2019 Red Hat, Inc. All rights reserved.
>
> Please don't remove the comma.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveOldHeuristics.cpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2018, 2019, 2021, Red Hat, Inc. All rights reserved.
>
> Same as above. Only put in begin and end year.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveOldHeuristics.hpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2018, 2019, 2021, Red Hat, Inc. All rights reserved.
>
> Same as above.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactOldHeuristics.cpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2018, 2019, 2021, Red Hat, Inc. All rights reserved.
>
> Same as above.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactOldHeuristics.hpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2018, 2019, 2021, Red Hat, Inc. All rights reserved.
>
> Same as above.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp line 2:
>
>> 1: /*
>> 2: * Copyright (c) 2018, 2020, 2021, Red Hat, Inc. All rights reserved.
>
> Same as above.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp line 167:
>
>> 165: old_heuristics->prime_collection_set(collection_set);
>> 166: }
>> 167: // else, thisi s global collection and doesn't need to prime_collection_set()
>
> Typo here 'thisi s'
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp line 172:
>
>> 170: size_t collectable_garbage = collection_set->garbage() + immediate_garbage;
>> 171: size_t collectable_garbage_percent = (total_garbage == 0) ? 0 : (collectable_garbage * 100 / total_garbage);
>> 172:
>
> Stray newline change.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.cpp line 204:
>
>> 202:
>> 203: bool ShenandoahHeuristics::should_start_gc() {
>> 204:
>
> Stray newline change.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahHeuristics.hpp line 155:
>
>> 153: double time_since_last_gc() const;
>> 154:
>> 155:
>
> Stray newlines.
Fixed in next commit.
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp line 26:
>
>> 24:
>> 25: #include "gc/shenandoah/heuristics/shenandoahOldHeuristics.hpp"
>> 26: #include "precompiled.hpp"
>
> Convention is to always put include for precompiled.hpp first.
Fixed in next commit.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/29
More information about the shenandoah-dev
mailing list