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

Shenandoah: Remove ShenandoahHumongousThreshold tunable

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 24
    • 17, 21, 23, 24
    • hotspot
    • gc
    • b12

      We introduced this experimental tunable a long time ago. The original intent, IIRC, was to allow users to have object allocations as humongous, even if they are smaller than a heap region size. For example, if one has the array that is half the region size. This might not be useful in practice, see for example a discussion in JDK-8327097.

      Having a ShenandoahHumongousThreshold less than a region size gets problematic when CDS loads the heap bypassing normal allocation paths, JDK-8293650. If CDS allocates the object that is larger than our humongous threshold, that new code would effectively allow a "humongous" object to reside in regular region. CDS would not know about this, because it thinks the largest possible object is of `MIN_GC_REGION_ALIGNMENT` size.

      Thus, I think it is safer to remove this tunable altogether. There are no usage hits either externally or internally. G1 does not have a similar tunable, and instead relies on region size. Therefore, I believe this tunable is safe to remove.

            shade Aleksey Shipilev
            shade Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: