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

Using ForceNUMA does not disable adaptive sizing with parallel gc

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 15
    • 13
    • hotspot
    • gc
    • b12

      Following code in os_linux.cpp in os::init_2() indicates that NUMA and adaptive sizing is incompatible with parallel gc:

          if (UseParallelGC && UseNUMA && UseLargePages && !can_commit_large_page_memory()) {
            // With SHM and HugeTLBFS large pages we cannot uncommit a page, so there's no way
            // we can make the adaptive lgrp chunk resizing work. If the user specified both
            // UseNUMA and UseLargePages (or UseSHM/UseHugeTLBFS) on the command line - warn
            // and disable adaptive resizing.
            if (UseAdaptiveSizePolicy || UseAdaptiveNUMAChunkSizing) {
              warning("UseNUMA is not fully compatible with SHM/HugeTLBFS large pages, "
                      "disabling adaptive resizing (-XX:-UseAdaptiveSizePolicy -XX:-UseAdaptiveNUMAChunkSizing)");
              UseAdaptiveSizePolicy = false;
              UseAdaptiveNUMAChunkSizing = false;
            }
          }


      However a few lines of code later, if ForceNUMA is set, we unconditionally set UseNUMA to true.

      Investigate this contradiction.

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

              Created:
              Updated:
              Resolved: