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

G1: Incorrect reference discovery MT degree in concurrent marking

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • P4
    • Resolution: Fixed
    • None
    • 18
    • hotspot
    • gc
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: