JDK-6916330 : CMS/G1: gc pause latency/scalability concern for flushing deferred card marks single-threaded
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs17
  • Priority: P5
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic
  • CPU: generic
  • Submitted: 2010-01-12
  • Updated: 2016-02-19
  • Resolved: 2016-02-19
Related Reports
Relates :  
The fix for 6896647 moves the deferred card-mark flushing into the single-threaded prologue of GC, which can theoreticaly at least be a bottleneck to GC pause latency scalability and cause the occasional long GC pause. This can be addressed by means of GC recognizing the deferred card marks as a special modified reference set, amenable to parallel and concurrent processing.

Would it be useful, for G1 to at least add logging for this phase to find potential problems? (Or create a new CR?) I do not see this as a high priority issue, but if that deferred object is a large object array, we might run into problems, so it may be okay to leave the issue as is. Just asking.

ILW: I: low -> theoretical problem L: low -> no known reproducer W: high -> none -> P5 for now

WORK AROUND -XX:-ReduceInitialCardMarks which however may detract from mutator throughput when cache pressure is high.

EVALUATION Yes, more scalable, lower pause latency and variance would be better.

SUGGESTED FIX As in description field.