RFR (XS) 8243301: Shenandoah: ditch ShenandoahAllowMixedAllocs
Aleksey Shipilev
shade at redhat.com
Tue Apr 21 18:39:07 UTC 2020
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 "\
--
Thanks,
-Aleksey
More information about the hotspot-gc-dev
mailing list