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

Parallel GC: Concurrent allocation after heap expansion may cause unnecessary full gc

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P4
    • 17
    • 17
    • hotspot
    • gc
    • b10

    Description

      Currently, when expanding the old gen during evacuation (young gc), the code does not make sure that the thread actually expanding the heap gets any memory. A thread's post-expansion allocation attempt could fail because, after it has expanded the heap, other concurrent threads may claim some of the expanded space first, possibly enough that the residue is insufficient for the expanding thread's second allocation attempt.

      In this case the expanding thread will consider the entire allocation to have failed and Parallel GC start a full gc although there is still lots of memory available.

      Attachments

        Issue Links

          Activity

            People

              kbarrett Kim Barrett
              tschatzl Thomas Schatzl
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: