Integrated: 8307348 - Parallelize heap walk for ObjectCount(AfterGC) JFR event collection

olivergillespie duke at openjdk.org
Wed May 10 08:57:25 UTC 2023


On Wed, 3 May 2023 11:10:31 GMT, olivergillespie <duke at openjdk.org> wrote:

> ObjectCount(AfterGC) event does a full single-threaded heap scan at a safepoint. After https://bugs.openjdk.org/browse/JDK-8215624, it is trivial to use the parallel version of the heap scan, reducing the time spent at the safepoint, and thus reducing the overhead of this event.
> 
> The performance improvement is obvious, but just for confirmation, on my 16-core host, at around 1GB occupancy:
> 
> 
> Before: 770ms ( [3.059s][debug][gc,phases         ] GC(13) Report Object Count 770.317ms )
>  After:  92ms ( [2.335s][debug][gc,phases         ] GC(13) Report Object Count  91.742ms )
> 
> 
> Question 1: Should this be the default behaviour for populate_table (use the number active workers as the parallelism, if nothing else specified)?
> 
> Question 2: Is active_workers the correct value to use here? Or is max_workers more appropriate?

This pull request has now been integrated.

Changeset: 540c706b
Author:    Oli Gillespie <ogillesp at amazon.com>
Committer: Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/540c706bbcbb809ae1304aac4f2a16a5e83cb458
Stats:     42 lines in 9 files changed: 10 ins; 11 del; 21 mod

8307348: Parallelize heap walk for ObjectCount(AfterGC) JFR event collection

Reviewed-by: shade, ayang, tschatzl

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

PR: https://git.openjdk.org/jdk/pull/13774


More information about the hotspot-gc-dev mailing list