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

G1: Reduce overhead of marking closure during evacuation pauses

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • hs23
    • 7u4
    • hotspot
    • gc
    • b07
    • generic
    • generic
    • Not verified

        While running a workload that was designed to see how the GC performs when the heap occupancy was at 60% of capacity, there were several *long* evacuation pauses where the major contributor to the duration of the pause was "Other" time.

        During the workload run (which was for a 26Gb heap, 18 GC workers), "Other" times of ~1800ms were not uncommon. The crucial pattern was that these lonbg pauses were always seen during marking cycles.

        An investigation indicated that the main culprit was the "complete_marking_in_collection_set" closure, and this was confirmed with some changes to the PrintGCDetails output. The reason why this code was taking so long is that it is current purely a serial iteration over the collection set.

        Since this code will be going away when the changes foir 6888336 are implemented, it has been decided that a quick fix would be to parallelize the existing serial code.

              johnc John Cuthbertson
              johnc John Cuthbertson
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: