G1: Reduce overhead of marking closure during evacuation pauses

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • hs23
    • Affects Version/s: 7u4
    • Component/s: 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.

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

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: