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

Deprecate FastTLABRefill and set default off

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P4 P4
    • 10
    • hotspot
    • None
    • behavioral
    • minimal
    • Performances regression under very special circumstances. But standalone C1 is no longer a supported configuration.
    • add/remove/modify command line option
    • Implementation

      Summary

      The HotSpot option -XX:+FastTLABRefill should be deprecated and set to a default of off.

      Problem

      • Newly integrated Memory-Leak Profiler doesn't work with FastTLABRefill
      • Upcoming Low Overhead profiler doesn't work with FastTLABRefill
      • Option complicates already complicated code paths
      • Option is actually default off (if you do not change default GC from G1)
      • Only works with C1 (interpreter and C2 don't use this option)
      • Only works with SerialGC and ParallelGC (and CMS)

      Note: When using Serial/Parallel and only C1 there is a performances regression of 1%.

      Solution

      The option should be removed and this first step is to deprecate it and set it to false.

      Specification

          diff -r 9a9c764bc2d5 src/hotspot/share/runtime/arguments.cpp
          --- a/src/hotspot/share/runtime/arguments.cpp   Mon Nov 06 10:20:01 2017 +0100
          +++ b/src/hotspot/share/runtime/arguments.cpp   Wed Nov 08 09:58:24 2017 +0100
          @@ -386,2 +386,3 @@
             { "IgnoreUnverifiableClassesDuringDump", JDK_Version::jdk(10),  JDK_Version::undefined(), JDK_Version::undefined() },
          +  { "FastTLABRefill",                      JDK_Version::jdk(10), JDK_Version::jdk(11), JDK_Version::jdk(12) },
      
          diff -r 9a9c764bc2d5 src/hotspot/share/runtime/globals.hpp
          --- a/src/hotspot/share/runtime/globals.hpp Mon Nov 06 10:20:01 2017 +0100
          +++ b/src/hotspot/share/runtime/globals.hpp Wed Nov 08 09:58:24 2017 +0100
          @@ -2022,3 +2022,3 @@
                                                                                       \
          -  product(bool, FastTLABRefill, true,                                       \
          +  product(bool, FastTLABRefill, false,                                      \
          !           "(Deprecated) Use fast TLAB refill code")                        \

            rehn Robbin Ehn
            rehn Robbin Ehn
            David Holmes
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: