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

pending_cards_at_gc_start doesn't include cards in thread buffers

    XMLWordPrintable

Details

    • gc
    • b23

    Description

      Among other things, G1Policy::record_concurrent_refinement_stats() sets pending_cards_at_gc_start to the number of cards in the dirty card queue set. However, that doesn't include cards in the thread buffers.

      record_concurrent_refinement_stats is called by record_young_collection_start. The cards in thread buffers are flushed to the DCQS by concatenate_logs, which is called later by pre_evacuate_collection_set. So the recorded pending cards value doesn't include the cards in thread buffers, but should. This may effect various later calculations using that information, since it will be less accurate than it could be.

      Attachments

        Issue Links

          Activity

            People

              kbarrett Kim Barrett
              kbarrett Kim Barrett
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: