RFR: Add parallel worker timings for remembered set scan

Aleksey Shipilev shade at openjdk.java.net
Sat Apr 3 06:34:41 UTC 2021


On Fri, 2 Apr 2021 17:27:41 GMT, earthling-amzn <github.com+71722661+earthling-amzn at openjdk.org> wrote:

> ### Description
> Followed the existing pattern to add parallel working timings for remembered set scan.
> 
> ### Testing
> Ran Dacapo, looks like this in the logs:
> [157.867s][202297][info] Concurrent Reset                  94013 us
> [157.867s][202297][info] Pause Init Mark (G)              579650 us
> [157.867s][202297][info] Pause Init Mark (N)              579456 us
> [157.867s][202297][info]   Scan Remembered Set            483166 us, parallelism: 3.91x
> [157.867s][202297][info]     RS: <total>                 1891580 us
> [157.867s][202297][info]     RS: Scan Clusters           1891580 us, workers (us): 481972, 468615, 457912, 483081, 
> [157.867s][202297][info]   Update Region States               78 us
> [157.867s][202297][info] Concurrent Mark Roots             18932 us, parallelism: 1.98x

This looks good. Consider fixing minor nits.

src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp line 106:

> 104:                                                                                        \
> 105:   f(init_update_refs_gross,                         "Pause Init Update Refs (G)")      \
> 106:   f(init_update_refs,                               "Pause Init Update Refs (N)")      \

Revert this change, we should clean this up upstream.

src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.cpp line 103:

> 101:   ShenandoahObjToScanQueue* old = _old_queue_set == NULL ? NULL : _old_queue_set->queue(worker_id);
> 102:   ShenandoahMarkRefsClosure<YOUNG> cl(q, _rp, old);
> 103:   RememberedScanner *scanner = ShenandoahHeap::heap()->card_scan();

While you are at it, can you put `*` to lean to the type? `RememberedScanner* scanner`.

-------------

Marked as reviewed by shade (Reviewer).

PR: https://git.openjdk.java.net/shenandoah/pull/27


More information about the shenandoah-dev mailing list