United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6941378 G1: change default value of G1UseFixedWindowMMUTracker to true
JDK-6941378 : G1: change default value of G1UseFixedWindowMMUTracker to true

Details
Type:
Bug
Submit Date:
2010-04-06
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs19 (b03)

Related Reports
Backport:
Backport:
Backport:
Backport:

Sub Tasks

Description
The assertion

Internal Error at g1MMUTracker.cpp:92, pid=9261, tid=26
Error: guarantee(ScavengeALot || G1UseFixedWindowMMUTracker,"array full, currently we can't recover unless +G1UseFixedWindowMMUTracker") 

can fire if the clock value changes dramatically.  In those cases the only thing
that can be done is to over write the oldest values in the tracker queue.  Set
G1UseFixedWindowMMUTracker to true so that the behavior is just that.

                                    

Comments
EVALUATION

Clock/gettimeofday problems can cause the MMU tracker queue to fill up and trip a guarantee. The MMU tracker queue is actually cyclic and so setting G1UseFixedMMUTrackerWindow skips the guarantee and causes the earliest entries in the queue to be replacd.

Reviews of just changing the flag value (to skip the guarantee) raised questions about whether the presence of the flag is really necessary.
                                     
2010-05-07
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/f16f1d7893de
                                     
2010-05-26



Hardware and Software, Engineered to Work Together