JDK-6923991 : G1: improve scalability of RSet scanning
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs16
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2010-02-05
  • Updated: 2013-09-18
  • Resolved: 2010-03-02
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 6 JDK 7 Other
6u21Fixed 7Fixed hs17Fixed
Related Reports
Relates :  
G1 shows poor load balancing and high contention behavior during RSet scanning on CMT machines as well as on many-core x86. Previously implemented exponential skipping has unacceptable performance when it comes to extremely large processor count.

EVALUATION ChangeSet=http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/0414c1049f15,ChangeRequest=6923991

EVALUATION See Description / Suggested Fix.

SUGGESTED FIX The fix would be to implement block-based work stealing in rset scanning phase. It is also required to get rid of copying during this phase and postpone it until the main copying phase. This would also get rid of the buffering that significaly contributes to the observed imbalance.