United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6976060 G1: humongous object allocations should initiate marking cycles when necessary
6976060 : G1: humongous object allocations should initiate marking cycles when necessary

Details
Type:
Enhancement
Submit Date:
2010-08-10
Status:
Closed
Updated Date:
2012-03-24
Project Name:
JDK
Resolved Date:
2012-03-24
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs19
Fixed Versions:
hs23

Related Reports
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
Currently, we only decide whether to initiate a marking cycle at the end of an evacuation pause. This works well most of the time. However, if an application performs a lot of humongous object allocations the heap could grow quite rapidly but we will not initiate a marking cycle unless we also do an evacuation pause. This might cause a Full GC which we might be able to prevent if we initiated a marking cycle during the humongous allocations.

This CR proposes to extend the humongous object allocation path to also check the heap occupancy and initiate a marking cycle when / if needed. Given that in G1 we can only initiate marking cycles after doing an evacuation pause, we'll probably have to schedule an evacuation pause with a piggy-backed initial-mark for the marking cycle to start.

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/9509c20bba28
                                     
2012-03-22
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/9509c20bba28
                                     
2012-01-18



Hardware and Software, Engineered to Work Together