RFR: Partial GC: Implement work-stealing and rehash queue work

Aleksey Shipilev shade at redhat.com
Thu Mar 16 18:18:42 UTC 2017


Hi,

This change implements work-stealing in partial GC. It also *first* processes
all roots and root regions to keep threads busy, and *then* dives into queue
draining work.

Webrev:
  http://cr.openjdk.java.net/~shade/shenandoah/partial-workstealing/webrev.01/

Testing: hotspot_gc_shenandoah, cursory jcstress -m quick

TreeFragger before:
  [60.209s][info][gc,stats] Partial GC =
    24.48 s (a =   844209 us) (n =    29)
      (lvls, us =   349609,   369141,   445312,  1660156,  1865855)

TreeFragger after:
  [57.090s][info][gc,stats] Partial GC =
     8.28 s (a =   201969 us) (n =    41)
      (lvls, us =    77734,    91211,   138672,   371094,   436511)

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list