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

Improve G1 Full GC array marking

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 11
    • 11
    • hotspot
    • gc
    • b07

      Currently when marking an object array it is split up to avoid one worker doing all the work. The code iterates over a chunk of the array and then push the rest to the marking stack, the problem with this is that if the iteration it self don't find any new pointers to follow, the next thing to do is to handle the next chunk in the array. This make work-stealing problematic for this case and the performance far from optimal.

      There are many schemes that can be used to improve the situation and we might want to dig into this more at some point but an easy fix to push the rest of the array onto the mark stack before doing the iteration actually helps quite a bit, since the window when work stealing is possible increases a lot.

            sjohanss Stefan Johansson
            sjohanss Stefan Johansson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: