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

GenShen: Consider forcing auto-tenure age to be greater than 1

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • None
    • repo-shenandoah
    • hotspot
    • gc

    Description

      The census for age-0 objects means something different than the census for all other ages. In particular, everything allocated during a particular cycle is considered to have age 0 at the end of that cycle. We cannot reclaim any of these objects until the next GC cycle.

      Normally, we take the census at the end of concurrent marking. But age-0 objects will continue to accumulate during evacuation and update-refs.

      The auto-tenure-age selection algorithm considers the delta between census at age 0 during cycle N and census at age 1 during cycle N+1. If this delta is sufficiently small, it concludes that we should promote objects of age 1, because these cohorts have demonstrated low mortality.

      There is a suspicion that this choice causes undesirable premature promotion.

      Either we need to understand and document this as a desirable behavior, or we want to disable auto-tenuring-age-selection from choosing age 1 as the promotion age.

      A test workload has been demonstrated to generate almost 3x the amount of old-gen garbage between the GenShen version on 6/15 and the GenShen version on 9/11.

      Attachments

        Issue Links

          Activity

            People

              ysr Y. Ramakrishna
              kdnilsen Kelvin Nilsen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: