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

Improve G1 GCLocker allocation stall

    Details

    • Type: Enhancement
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: 14
    • Fix Version/s: tbd
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc

      Description

      JDK-7143858 attempted to eliminate unnecessary gc-locker collections that sometimes immediately followed another young collection. Although this problem was only reported against G1, and the fix is G1-specific, it was later (JDK-8048556) found to be a problem for several other collectors too. JDK-8048556 also showed that the JDK-7143858 change was insufficient, and unnecessary gc-locker collections could still occur, due to a race with the GCLocker's active state handling.

      JDK-7143858 made threads failing allocation stall when the GCLocker indicates a GC is needed, forcing them to wait until the gc-locker collection has been done. It would be better to only stall when the GCLocker is active and a GC is needed, as is done by other collectors. This allows a thread failing allocation to proceed to the GC without waiting for the no-longer-active GCLocker's collection attempt, with the quickest doing the honors.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                kbarrett Kim Barrett
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: