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

Shenandoah: Reset marking bitmaps after the cycle

XMLWordPrintable

    • gc

      Currently, Shenandoah resets marking bitmaps before the cycle. The intent for that was simplicity of riding at TAMS updates and to make sure that marking bitmaps are hot in caches when the concurrent marking starts soon after.

      This might be not a great idea when a concurrent cycle has to start very soon due to memory pressure. With concurrent reset before the cycle, we spend precious time resetting the bitmaps instead of going into concurrent cycle and amortizing the costs of memory accesses to bitmaps there.

      For longer concurrent cycles, we might not even get any caching benefits, since they will be completely nuked by the time concurrent mark gets to bitmaps.

      We need to explore whether doing the bitmap reset after the cycle is better. This could probably be done as op_cleanup_complete().

            xpeng Xiaolong Peng
            shade Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: