United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7068215 G1: Print reference processing time during remark
JDK-7068215 : G1: Print reference processing time during remark

Details
Type:
Enhancement
Submit Date:
2011-07-18
Status:
Closed
Updated Date:
2013-10-04
Project Name:
JDK
Resolved Date:
2012-01-23
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P4
Resolution:
Fixed
Affected Versions:
7u2
Fixed Versions:
hs23 (b02)

Related Reports
Backport:
Backport:
Backport:
Backport:

Sub Tasks

Description
During performance runs of SPECjEnterprise, a few extremely long remark pasues were observed ( > 5s). These long pauses caused the app server under test to prematurely end sessions/close connections resulting in a significant reduction of injection rate.

After analysis of the GC log and code it was that the reason for these long remark pauses might be the reference processing that takes place during a remark. By default the reference processing that takes place during a remark pause is single threaded (executed by the VMThread). Parallel reference processing is turned on by setting the ParallelRefProcEnabled flag to true and the number of ParallelGCThreads > 1.

This CR is to add the tracing/instrumentation to prove whether reference processing is the cause of the majority of these extremely long remark pauses.

                                    

Comments
EVALUATION

Add some timers to ConcurrentMark::weakRefsWork().
                                     
2011-07-18
SUGGESTED FIX

See Evaluation.
                                     
2011-07-20
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/1847b501ae74
                                     
2011-09-22
EVALUATION

http://hg.openjdk.java.net/hsx/hsx22/hotspot/rev/ce597819d5c6
                                     
2011-10-12
EVALUATION

See main CR
                                     
2011-10-22



Hardware and Software, Engineered to Work Together