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