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

Unexpected concurrent refinement deactivation and reactivation

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Subcomponent:
      gc
    • Resolved In Build:
      b115
    • CPU:
      generic
    • OS:
      generic

      Description

      In the attached log (refinement.tar.bz2) we see a number of places where there is a surprising sequence of deactivations of concurrent refinment threads even though there are many buffers available (far more than the reported deactivation threshold), followed quickly by reactivations of those same threads.

      Unnecessary cycling between active and inactive is wasteful of cycles.

      More importantly, the unusual deactivations seem be related to requests to pause concurrent refinement in order to initiate a collection pause, and this state cycling may be delaying that desired GC pause.

      The attached script (find_unusual_deactivation_activation_seq.py) can be applied to a log made with -Xlog:gc*,gc+refine=debug to print the first of each problematic deactivations.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kbarrett Kim Barrett
                Reporter:
                kbarrett Kim Barrett
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: