JDK-6904858 : G1: Disable ReduceInitialCardMarks feature for G1
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2009-11-25
  • Updated: 2013-09-18
  • Resolved: 2010-01-14
Related Reports
Relates :  
During the investigation of 6899058 and 6902115 it was discovered that enabling the ReduceInitialCardMarks feature for G1 results in a significant increase in the number of log buffers that are enqueued by the mutator threads. This increase in the number of completed updated log buffers wakes the concurrent refine thread more frequently and stresses the concurrent refine mechanism.

6899058 and 6902115 describe and address issues uncovered in this "stress" mode.

Since no performance increase was observed with enabling the ReduceInitialCardMarks feature, it has been decided to disable this feature for G1 to match the behavior of earlier releases.

SUGGESTED FIX We could either turn the flag off explicitly in arguments.cpp or if we want to keep the changes local to G1 sources return false from the routine in G1CollectedHeap that is called from the use_ReduceInitialCardMarks routine graphKit.cpp.

EVALUATION See description.