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

Concurrent refinement threads may be activated and deactivated at random

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 8, 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Subcomponent:
      gc
    • Resolved In Build:
      b116
    • Verification:
      Verified

      Description

      While running the attached test on a very large machine with -XX:+TraceConcRefinement refinement thread activation and deactivation seems to get messed up, leading to

      - many threads being deactivated although there is still lots of work to do (search for "deactivated worker 51, off threshold 1, current 98")
      - many threads activated although there is not much work to do (search for "activated worker 20, on threshold 1, current 2")
      - also the number of threads activated is frequently larger than the number of refinement buffers (see attached log, search for "deactivated worker 20, on threshold 1, current 5" where worker 20 is activated when there are only 5 buffers)

      This may lead to bad performance (too many threads active, too few active).

      The former issue burns CPU time degrading overall performance, the latter impacts regularity of pauses because running too few refinement threads causes refinement buffers to pile up, causing too long pauses.

        Attachments

        1. jsr166.jar
          638 kB
        2. log.tar.bz2
          933 kB
        3. refinement.tar.bz2
          264 kB
        4. SPL4.java
          4 kB

          Issue Links

            Activity

              People

              • Assignee:
                kbarrett Kim Barrett
                Reporter:
                tschatzl Thomas Schatzl
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: