RFR: 8297692: Avoid sending per-region GCPhaseParallel JFR events in G1ScanCollectionSetRegionClosure

Thomas Schatzl tschatzl at openjdk.org
Fri Nov 8 20:01:16 UTC 2024


On Fri, 8 Nov 2024 15:20:21 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   please review this change that significantly reduces the amount of "Code Roots" and "Optional Roots" JFR events to reduce default recording sizes significantly.
> 
> E.g. a 10min BigRamTester run creates a 23MB recording without this change, with like hundreds of thousands of these events (#gcs * #gc threads * #regions in collection set). With this change, the recording is reduced to 4MB (#gcs * #gc threads)
> 
> Testing: gha, tier1-3
> 
> Thanks,
>   Thomas

Fwiw, I went with splitting code root scan and optional root scan into two iterations that are each bracketed by a single per-thread JFR event now.
This also allowed a minor optimization: in the initial evacuation there can be no optional roots, so that iteration over all regions can be skipped.

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

PR Comment: https://git.openjdk.org/jdk/pull/21984#issuecomment-2465653093


More information about the hotspot-gc-dev mailing list