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

CMSScavengeBeforeRemark ignored if GCLocker is active

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not an Issue
    • P4
    • tbd
    • None
    • hotspot
    • gc

    Description

      We use quite large edens and we run with -XX:+CMSScavengeBeforeRemark to empty the eden before each remark to keep remark times reasonable. It turns out that when the remark pause is scheduled it doesn't try to synchronize with the GCLocker at all. The result is that, quite often, the scavenge before remark aborts because the GCLocker is active. This leads to substantially longer remarks.

      A side-effect of this is that the remark pause with the aborted scavenge is immediately followed by a GCLocker-initiated GC (with the eden being half empty). The aborted scavenge checks whether the GCLocker is active with check_active_before_gc() which tells the GCLocker to do a young GC if it's active. And the young GC is done without waiting for the eden to fill up.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tonyp Tony Printezis
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: