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

Deprecate FastTLABRefill and set default off

    XMLWordPrintable

    Details

    • Type: CSR
    • Status: Closed
    • Priority: P4
    • Resolution: Approved
    • Fix Version/s: 10
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Compatibility Kind:
      behavioral
    • Compatibility Risk:
      minimal
    • Compatibility Risk Description:
      Performances regression under very special circumstances. But standalone C1 is no longer a supported configuration.
    • Interface Kind:
      add/remove/modify command line option
    • Scope:
      Implementation

      Description

      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")                        \

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved: