RFR: JDK-8216973: Shenandoah: Kick up cleanup phases in the right places

Aleksey Shipilev shade at redhat.com
Mon Jan 14 11:40:30 UTC 2019


On 1/14/19 12:25 PM, Roman Kennke wrote:
> In Shenandoah, we currently start cleanup phase when we dive into
> concurrent evacuation (and only then), and after the cycle
> (unconditionally). However, we only create trashed regions in final-mark
> (immediate garbage and/or garbage from previous cycle), and might skip
> evacuation altogether, and may not actually create trash at end of cycle
> if we merge update-refs onto subsequent concurrent-mark. Let's start
> cleanups where we actually need them: once unconditionally before
> conc-evac and once after final-update-refs.

The intent for the patch is okay.

> http://cr.openjdk.java.net/~rkennke/JDK-8216973/webrev.00/

I think comments need to be updated, for example:

After final-mark:

  // Final mark might have reclaimed some immediate garbage, kick cleanup to reclaim
  // the space. This would be the last action if there is nothing to evacuate.
  heap->entry_cleanup();


After update-refs:

  // Update references freed up collection set, kick the cleanup to reclaim the space.
  heap->entry_cleanup();


> Also, should this go into JDK12?

I think this is the minor performance enhancement, and as such it should be deferred until first
12u. So, let's push this to jdk/jdk, let it be tested, and then we'll do the backport to
jdk-updates/jdk12u, when that arrives.

Thanks,
-Aleksey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20190114/f63c713e/signature.asc>


More information about the hotspot-gc-dev mailing list