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

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

XMLWordPrintable

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

      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.

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

              Created:
              Updated:
              Resolved: