Shenandoah: Remove ShenandoahHumongousThreshold tunable

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 24
    • Affects Version/s: 17, 21, 23, 24
    • Component/s: 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.

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

              Created:
              Updated:
              Resolved: