RFR (XS) 8241838: Shenandoah: no need to trash cset during final mark

Roman Kennke rkennke at redhat.com
Mon Mar 30 12:39:42 UTC 2020


Looks good, thank you!

Roman


> RFE:
>   https://bugs.openjdk.java.net/browse/JDK-8241838
> 
> Follow up from CM-with-UR removal (JDK-8240868): we do not ever see cset during final mark now, so
> trashing the cset is effectively noop. Ditching this saves about 2-3 us during pause.
> trash_cset_regions() is still used during final-UR pause.
> 
> Fix:
> 
> diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Mon Mar 30 13:31:43 2020 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp        Mon Mar 30 14:21:08 2020 +0200
> @@ -1503,10 +1503,4 @@
>      }
> 
> -    // Trash the collection set left over from previous cycle, if any.
> -    {
> -      ShenandoahGCPhase phase(ShenandoahPhaseTimings::trash_cset);
> -      trash_cset_regions();
> -    }
> -
>      {
>        ShenandoahGCPhase phase(ShenandoahPhaseTimings::prepare_evac);
> diff -r e2418ac6ab12 src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp        Mon Mar 30 13:31:43 2020 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp        Mon Mar 30 14:21:08 2020 +0200
> @@ -83,5 +83,4 @@
>    f(retire_tlabs,                                   "  Retire TLABs")                  \
>    f(sync_pinned,                                    "  Sync Pinned")                   \
> -  f(trash_cset,                                     "  Trash CSet")                    \
>    f(prepare_evac,                                   "  Prepare Evacuation")            \
>    f(init_evac,                                      "  Initial Evacuation")            \
> 
> Testing: hotspot_gc_shenandoah
> 




More information about the hotspot-gc-dev mailing list