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

G1: Incorrect reference discovery MT degree in concurrent marking

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 18
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      gc
    • Resolved In Build:
      b06

      Description

      In `src/hotspot/share/gc/g1/g1CollectedHeap.cpp`:

      ```
      _ref_processor_cm =
          new ReferenceProcessor(&_is_subject_to_discovery_cm,
                                 ParallelGCThreads, // degree of mt processing
                                 (ParallelGCThreads > 1) || (ConcGCThreads > 1), // mt discovery
                                 MAX2(ParallelGCThreads, ConcGCThreads), // degree of mt discovery
                                 false, // Reference discovery is not atomic
                                 &_is_alive_closure_cm); // is alive closure
      ```

      CM ref processor does ref discovery during concurrent marking, which use `ConcGCThreads` GC threads. Therefore, the MT degree is determined by `ConcGCThreads`; `ParallelGCThreads` should not be used.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ayang Albert Yang
              Reporter:
              ayang Albert Yang
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: