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

G1: Reduce unnecessary (and failing) allocation attempts when handling an evacuation failure

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 8, 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Subcomponent:
      gc
    • Resolved In Build:
      b81
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        If an evacuation failure is seen during object copying, we still have to proceed with the scanning of the remaining roots and RSets. Objects for which we fail to allocate space are self-forwarded (i.e. they are forwarded to themselves). This means that for many, many object copies we are going to execute the allocation path (attempting to to allocate a PLAB, and hence attempting to allocate a new GC alloc region) many, many times. Most (if not all) of these allocation attempts (of GC alloc regions) are doomed to failure.

        We should be able to reduce the time of pauses that see an evacuation failure if we reduce the number of times we execute the slow path when an evacuation failure is seen.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  tschatzl Thomas Schatzl
                  Reporter:
                  johnc John Cuthbertson
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: