RFR (XS) 8243301: Shenandoah: ditch ShenandoahAllowMixedAllocs
Roman Kennke
rkennke at redhat.com
Tue Apr 21 19:37:19 UTC 2020
Ok. One flag down is also a win :-)
Roman
> On 4/21/20 8:31 PM, Aleksey Shipilev wrote:
>> RFE:
>> https://bugs.openjdk.java.net/browse/JDK-8243301
>>
>> Testing discovers this issue that breaks Shenandoah when JDK-8243291 is applied. See the discussion
>> in bug report. I would push this before JDK-8243291 is pushed.
>
> Err. Of course, here is the fix:
>
> diff -r 4153de8e4dca src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp Tue Apr 21 20:00:58 2020 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp Tue Apr 21 20:38:55 2020 +0200
> @@ -126,16 +126,8 @@
> }
>
> - // Try to mix the allocation into the mutator view:
> - if (ShenandoahAllowMixedAllocs) {
> - for (size_t c = _mutator_rightmost + 1; c > _mutator_leftmost; c--) {
> - size_t idx = c - 1;
> - if (is_mutator_free(idx)) {
> - HeapWord* result = try_allocate_in(_heap->get_region(idx), req, in_new_region);
> - if (result != NULL) {
> - return result;
> - }
> - }
> - }
> - }
> + // No dice. Do not try to mix mutator and GC allocations, because
> + // URWM moves due to GC allocations would expose unparsable mutator
> + // allocations.
> +
> break;
> }
> diff -r 4153de8e4dca src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Tue Apr 21 20:00:58 2020 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Tue Apr 21 20:38:55 2020 +0200
> @@ -212,8 +212,4 @@
> "Use Elastic TLABs with Shenandoah") \
> \
> - diagnostic(bool, ShenandoahAllowMixedAllocs, true, \
> - "Allow mixing mutator and collector allocations into a single " \
> - "region. Some heuristics enable/disable it for their needs") \
> - \
> experimental(uintx, ShenandoahEvacReserve, 5, \
> "How much of heap to reserve for evacuations. Larger values make "\
>
>
More information about the shenandoah-dev
mailing list