Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6445193

Revisit GC / app thread interaction in CMS during GC yielding

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Not an Issue
    • Icon: P3 P3
    • tbd
    • 6, 6u17
    • hotspot
    • gc
    • generic, x86
    • generic, linux

        The original problem, reported in 6442774, was that after a GC thread yields, the mutator thread that requested the yield might not get a chance to run and actually did what it needed to do. Therefore, the GC thread could complete the yield without the requesting mutator thread actually doing what it needed to do. This could cause the mutator thread to be blocked for a long time and the GC thread doing frequent yields, which slowed it down.

        The fix for 6442774 was conservative and causes the GC thread to sleep while looping for a period of time, while waiting for the mutator thread to wake up. A better fix will be to improve the interaction between yielding GC and mutator threads by using wait/notify.

              Unassigned Unassigned
              tonyp Tony Printezis
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: