Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6865703
Votes 0
Synopsis G1: parallelize cache clean up
Category hotspot:garbage_collector
Reported Against
Release Fixed hs16(b08), 6u18(b01) (Bug ID:2181948) , 7(b71) (Bug ID:2182204)
State 11-Closed, Unverified, request for enhancement
Priority: 3-Medium
Related Bugs 6866330
Submit Date 28-JUL-2009
Description
When running performance tests with large heaps (24G or so) I noticed that GC worker 0 was taking longer in the RS updating phase than the rest. Here's an example:

      [Update RS (ms):  4.6  2.3  2.4  2.6  2.3  2.4  2.5  2.7  2.2  2.6  2.6  2.4  2.3
       Avg:   2.6, Min:   2.2, Max:   4.6]

When the pause times were short, this resulted in long termination times for all but worker 0:

      [Termination (ms):  0.0  2.0  1.9  1.9  2.0  1.9  1.9  1.9  1.9  1.9  2.0  1.9  1.9
       Avg:   1.8, Min:   0.0, Max:   2.0]

which added unnecessary time to the collection pause.
Posted Date : 2009-07-28 15:29:15.0
Work Around
N/A
Evaluation
The bottleneck is the worker 0 alone serially cleans up the card cache. And if that processing takes a non-trivial amount of time, then the rest might have to wait for it during termination.
Posted Date : 2009-07-28 15:29:15.0

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/15c5903cf9e1
Posted Date : 2009-08-04 09:45:29.0

http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/15c5903cf9e1
Posted Date : 2009-08-06 03:40:44.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang