JDK-8325553 : Parallel: Use per-marker cache for marking stats during Full GC
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 17,21,22,23
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2024-02-09
  • Updated: 2024-07-11
  • Resolved: 2024-02-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 23
23 b12Fixed
Related Reports
Duplicate :  
Relates :  
Description
In `PSParallelCompact::mark_obj`, `_summary_data.add_obj` uses atomic-operation to record live bytes info, which hinders scalability during Full GC.

One can take some inspiration from `G1RegionMarkStatsCache` to address this issue.
Comments
Changeset: 2d3c9c5e Author: Albert Mingkun Yang <ayang@openjdk.org> Date: 2024-02-26 15:34:10 +0000 URL: https://git.openjdk.org/jdk/commit/2d3c9c5e673cf72fd4873fb5139e7d7a3d65a097
26-02-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/17788 Date: 2024-02-09 12:06:04 +0000
09-02-2024

One can run the attached bm using: java -Xms3g -Xmx3g -XX:NewSize=1g -XX:+UseParallelGC -XX:-ScavengeBeforeFullGC -XX:MarkSweepDeadRatio=0 -XX:ParallelGCThreads=2 -Xlog:gc fullgc.java
09-02-2024