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

G1: With virtualized remembered sets, maximum number of cards configured is wrong

    XMLWordPrintable

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b24

      Description

       https://github.com/openjdk/jdk/blob/master/src/hotspot/share/gc/g1/g1CardSet.cpp#L58

      The max #cards in a heap region is passed to max_cards_in_card_set, but the heap range covered by a cardset container is not necessary a region. If the #cards_in_region is too large, multiple cardset containers are required to fully cover that heap range.


      * This prevents upgrading a Howl container to Full with virtualized remembered sets (Heap regions >= 64M) as the (default) threshold for coarsening from Howl to Full is max_cards_in_cardset * 0.9, which is always higher than the value tested against (65k, max card set container element number).
      * This also unnecessarily increases the bits used for inline ptrs


      g1CardSet.cpp:58

                               (uint)HeapRegion::CardsPerRegion, /* max_cards_in_cardset */

      (found by ayang)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              tschatzl Thomas Schatzl
              Reporter:
              tschatzl Thomas Schatzl
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: