changeset 60602:95ec32b19bf5

8251463: Obsolete -XX:ForceNUMA option Reviewed-by: kbarrett, sjohanss, lkorinth
author ayang
date Tue, 18 Aug 2020 11:43:24 +0200
parents 48830acec1a1
children 7e209abb7c4d
files src/hotspot/os/linux/os_linux.cpp src/hotspot/os/windows/os_windows.cpp src/hotspot/share/gc/g1/g1NUMAStats.cpp src/hotspot/share/runtime/arguments.cpp src/hotspot/share/runtime/globals.hpp
diffstat 5 files changed, 5 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/os/linux/os_linux.cpp	Tue Aug 18 10:29:06 2020 +0100
+++ b/src/hotspot/os/linux/os_linux.cpp	Tue Aug 18 11:43:24 2020 +0200
@@ -5314,11 +5314,9 @@
   } else {
     if ((Linux::numa_max_node() < 1) || Linux::is_bound_to_single_node()) {
       // If there's only one node (they start from 0) or if the process
-      // is bound explicitly to a single node using membind, disable NUMA unless
-      // user explicilty forces NUMA optimizations on single-node/UMA systems
-      UseNUMA = ForceNUMA;
+      // is bound explicitly to a single node using membind, disable NUMA
+      UseNUMA = false;
     } else {
-
       LogTarget(Info,os) log;
       LogStream ls(log);
 
--- a/src/hotspot/os/windows/os_windows.cpp	Tue Aug 18 10:29:06 2020 +0100
+++ b/src/hotspot/os/windows/os_windows.cpp	Tue Aug 18 11:43:24 2020 +0200
@@ -4233,9 +4233,7 @@
   // initialize thread priority policy
   prio_init();
 
-  if (UseNUMA && !ForceNUMA) {
-    UseNUMA = false; // We don't fully support this yet
-  }
+  UseNUMA = false; // We don't fully support this yet
 
   if (UseNUMAInterleaving || (UseNUMA && FLAG_IS_DEFAULT(UseNUMAInterleaving))) {
     if (!numa_interleaving_init()) {
--- a/src/hotspot/share/gc/g1/g1NUMAStats.cpp	Tue Aug 18 10:29:06 2020 +0100
+++ b/src/hotspot/share/gc/g1/g1NUMAStats.cpp	Tue Aug 18 11:43:24 2020 +0200
@@ -31,9 +31,6 @@
 }
 
 G1NUMAStats::NodeDataArray::NodeDataArray(uint num_nodes) {
-  // Not using > 1, for -XX:+ForceNUMA support.
-  guarantee(num_nodes > 0, "Number of nodes (%u) should be set", num_nodes);
-
   // The row represents the number of nodes.
   _num_column = num_nodes;
   // +1 for G1MemoryNodeManager::AnyNodeIndex.
@@ -125,8 +122,7 @@
 G1NUMAStats::G1NUMAStats(const int* node_ids, uint num_node_ids) :
   _node_ids(node_ids), _num_node_ids(num_node_ids), _node_data() {
 
-  // Not using > 1, for -XX:+ForceNUMA support.
-  assert(_num_node_ids > 0, "Should have at least one node id: %u", _num_node_ids);
+  assert(_num_node_ids > 1, "Should have at least one node id: %u", _num_node_ids);
 
   for (int i = 0; i < NodeDataItemsSentinel; i++) {
     _node_data[i] = new NodeDataArray(_num_node_ids);
--- a/src/hotspot/share/runtime/arguments.cpp	Tue Aug 18 10:29:06 2020 +0100
+++ b/src/hotspot/share/runtime/arguments.cpp	Tue Aug 18 11:43:24 2020 +0200
@@ -522,7 +522,6 @@
   { "UseMembar",                    JDK_Version::jdk(10), JDK_Version::jdk(12), JDK_Version::undefined() },
   { "AllowRedefinitionToAddDeleteMethods", JDK_Version::jdk(13), JDK_Version::undefined(), JDK_Version::undefined() },
   { "FlightRecorder",               JDK_Version::jdk(13), JDK_Version::undefined(), JDK_Version::undefined() },
-  { "ForceNUMA",                    JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
   { "UseBiasedLocking",             JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
   { "BiasedLockingStartupDelay",    JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
   { "PrintBiasedLockingStatistics", JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
@@ -553,6 +552,7 @@
   { "PrintVMQWaitTime",              JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
   { "UseNewFieldLayout",             JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
   { "UseSemaphoreGCThreadsSynchronization", JDK_Version::undefined(), JDK_Version::jdk(16), JDK_Version::jdk(17) },
+  { "ForceNUMA",                     JDK_Version::jdk(15), JDK_Version::jdk(16), JDK_Version::jdk(17) },
 
 #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
   // These entries will generate build errors.  Their purpose is to test the macros.
--- a/src/hotspot/share/runtime/globals.hpp	Tue Aug 18 10:29:06 2020 +0100
+++ b/src/hotspot/share/runtime/globals.hpp	Tue Aug 18 11:43:24 2020 +0200
@@ -191,9 +191,6 @@
           "Granularity to use for NUMA interleaving on Windows OS")         \
           range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G)) \
                                                                             \
-  product(bool, ForceNUMA, false,                                           \
-          "(Deprecated) Force NUMA optimizations on single-node/UMA systems") \
-                                                                            \
   product(uintx, NUMAChunkResizeWeight, 20,                                 \
           "Percentage (0-100) used to weight the current sample when "      \
           "computing exponentially decaying average for "                   \