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

G1: Remove sorting at end of collection set selection

XMLWordPrintable

    • gc

      Currently G1 sorts the collection set candidates after collection set selection to avoid freeing the collection set taking a long time (introduced in JDK-8165313).

      In a later change the cause for this long pause has been fixed (JDK-8165443), but the sorting not removed.

      Finally, remove the unnecessary sorting.

      According to these CRs, running gcbasher with -Xmx20G -Xms20G -XX:G1HeapRegionSize=1m -XX:G1NewSizePercent=70 -XX:G1MaxNewSizePercent=85 makes G1 pauses take a long time.

      Current log output shows that there is no difference with or without the sorting, showing the "Free Collection Set" and "Rebuild Free List" phases before and after the change:

      Rebuild free list:
      ```
      before:[6.847s][debug][gc,phases] GC(0) Rebuild Free List: 0.31ms
      before:[10.499s][debug][gc,phases] GC(1) Rebuild Free List: 0.33ms
      before:[14.120s][debug][gc,phases] GC(2) Rebuild Free List: 0.32ms
      before:[17.749s][debug][gc,phases] GC(3) Rebuild Free List: 0.31ms
      before:[21.376s][debug][gc,phases] GC(4) Rebuild Free List: 0.30ms
      before:[24.994s][debug][gc,phases] GC(5) Rebuild Free List: 0.36ms
      before:[28.652s][debug][gc,phases] GC(6) Rebuild Free List: 0.29ms

      after:[6.126s][debug][gc,phases] GC(0) Rebuild Free List: 0.30ms
      after:[9.718s][debug][gc,phases] GC(1) Rebuild Free List: 0.30ms
      after:[13.311s][debug][gc,phases] GC(2) Rebuild Free List: 0.31ms
      after:[16.901s][debug][gc,phases] GC(3) Rebuild Free List: 0.31ms
      after:[20.487s][debug][gc,phases] GC(4) Rebuild Free List: 0.32ms
      after:[24.070s][debug][gc,phases] GC(5) Rebuild Free List: 0.31ms
      after:[27.683s][debug][gc,phases] GC(6) Rebuild Free List: 0.36ms
      ```
      ```
      before:[6.847s][debug][gc,phases] GC(0) Free Collection Set (ms): Min: 0.07, Avg: 0.50, Max: 0.61, Diff: 0.55, Sum: 4.02, Workers: 8
      before:[10.499s][debug][gc,phases] GC(1) Free Collection Set (ms): Min: 0.30, Avg: 0.36, Max: 0.45, Diff: 0.15, Sum: 2.86, Workers: 8
      before:[14.120s][debug][gc,phases] GC(2) Free Collection Set (ms): Min: 0.07, Avg: 0.60, Max: 0.73, Diff: 0.66, Sum: 4.79, Workers: 8
      before:[17.749s][debug][gc,phases] GC(3) Free Collection Set (ms): Min: 0.05, Avg: 0.50, Max: 0.64, Diff: 0.58, Sum: 4.01, Workers: 8
      before:[21.376s][debug][gc,phases] GC(4) Free Collection Set (ms): Min: 0.06, Avg: 0.60, Max: 0.71, Diff: 0.65, Sum: 4.80, Workers: 8
      before:[24.994s][debug][gc,phases] GC(5) Free Collection Set (ms): Min: 0.07, Avg: 0.77, Max: 0.93, Diff: 0.86, Sum: 6.18, Workers: 8
      before:[28.652s][debug][gc,phases] GC(6) Free Collection Set (ms): Min: 0.06, Avg: 0.63, Max: 0.76, Diff: 0.70, Sum: 5.01, Workers: 8

      after:[6.126s][debug][gc,phases] GC(0) Free Collection Set (ms): Min: 0.48, Avg: 0.59, Max: 0.71, Diff: 0.23, Sum: 4.69, Workers: 8
      after:[9.718s][debug][gc,phases] GC(1) Free Collection Set (ms): Min: 0.05, Avg: 0.54, Max: 0.65, Diff: 0.60, Sum: 4.35, Workers: 8
      after:[13.311s][debug][gc,phases] GC(2) Free Collection Set (ms): Min: 0.08, Avg: 0.37, Max: 0.46, Diff: 0.39, Sum: 2.92, Workers: 8
      after:[16.901s][debug][gc,phases] GC(3) Free Collection Set (ms): Min: 0.49, Avg: 0.58, Max: 0.65, Diff: 0.16, Sum: 4.60, Workers: 8
      after:[20.487s][debug][gc,phases] GC(4) Free Collection Set (ms): Min: 0.07, Avg: 0.61, Max: 0.73, Diff: 0.66, Sum: 4.90, Workers: 8
      after:[24.070s][debug][gc,phases] GC(5) Free Collection Set (ms): Min: 0.36, Avg: 0.45, Max: 0.55, Diff: 0.20, Sum: 3.58, Workers: 8
      after:[27.683s][debug][gc,phases] GC(6) Free Collection Set (ms): Min: 0.04, Avg: 0.38, Max: 0.50, Diff: 0.46, Sum: 3.01, Workers: 8
      ```
      I.e. no difference.

            tschatzl Thomas Schatzl
            tschatzl Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: