8144949: TestOptionsWithRanges -XX:NUMAInterleaveGranularity=2147483648 crashes VM
authorsangheki
Wed, 16 Dec 2015 22:06:52 -0800
changeset 35203 3e70c7dc0772
parent 35202 506ccf1717fd
child 35205 78ef15d884da
8144949: TestOptionsWithRanges -XX:NUMAInterleaveGranularity=2147483648 crashes VM Summary: Changed max range to 2G/8192G for NUMAInterleaveGranularity and removed constraint function Reviewed-by: jwilhelm, jmasa
hotspot/src/share/vm/code/codeCache.cpp
hotspot/src/share/vm/runtime/commandLineFlagConstraintsGC.cpp
hotspot/src/share/vm/runtime/commandLineFlagConstraintsGC.hpp
hotspot/src/share/vm/runtime/globals.hpp
--- a/hotspot/src/share/vm/code/codeCache.cpp	Mon Dec 21 14:09:21 2015 +0000
+++ b/hotspot/src/share/vm/code/codeCache.cpp	Wed Dec 16 22:06:52 2015 -0800
@@ -321,6 +321,10 @@
 
   ReservedCodeSpace rs(r_size, rs_align, rs_align > 0);
 
+  if (!rs.is_reserved()) {
+    vm_exit_during_initialization("Could not reserve enough space for code cache");
+  }
+
   // Initialize bounds
   _low_bound = (address)rs.base();
   _high_bound = _low_bound + rs.size();
--- a/hotspot/src/share/vm/runtime/commandLineFlagConstraintsGC.cpp	Mon Dec 21 14:09:21 2015 +0000
+++ b/hotspot/src/share/vm/runtime/commandLineFlagConstraintsGC.cpp	Wed Dec 16 22:06:52 2015 -0800
@@ -563,15 +563,6 @@
   return MaxSizeForHeapAlignment("HeapBaseMinAddress", value, verbose);
 }
 
-Flag::Error NUMAInterleaveGranularityConstraintFunc(size_t value, bool verbose) {
-  if (UseNUMA && UseNUMAInterleaving) {
-    size_t min_interleave_granularity = UseLargePages ? os::large_page_size() : os::vm_allocation_granularity();
-    return MaxSizeForAlignment("NUMAInterleaveGranularity", value, min_interleave_granularity, verbose);
-  } else {
-    return Flag::SUCCESS;
-  }
-}
-
 Flag::Error NewSizeConstraintFunc(size_t value, bool verbose) {
 #ifdef _LP64
 #if INCLUDE_ALL_GCS
--- a/hotspot/src/share/vm/runtime/commandLineFlagConstraintsGC.hpp	Mon Dec 21 14:09:21 2015 +0000
+++ b/hotspot/src/share/vm/runtime/commandLineFlagConstraintsGC.hpp	Wed Dec 16 22:06:52 2015 -0800
@@ -68,7 +68,6 @@
 Flag::Error InitialHeapSizeConstraintFunc(size_t value, bool verbose);
 Flag::Error MaxHeapSizeConstraintFunc(size_t value, bool verbose);
 Flag::Error HeapBaseMinAddressConstraintFunc(size_t value, bool verbose);
-Flag::Error NUMAInterleaveGranularityConstraintFunc(size_t value, bool verbose);
 Flag::Error NewSizeConstraintFunc(size_t value, bool verbose);
 Flag::Error MinTLABSizeConstraintFunc(size_t value, bool verbose);
 Flag::Error TLABSizeConstraintFunc(size_t value, bool verbose);
--- a/hotspot/src/share/vm/runtime/globals.hpp	Mon Dec 21 14:09:21 2015 +0000
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Wed Dec 16 22:06:52 2015 -0800
@@ -688,8 +688,7 @@
                                                                             \
   product(size_t, NUMAInterleaveGranularity, 2*M,                           \
           "Granularity to use for NUMA interleaving on Windows OS")         \
-          range(os::vm_allocation_granularity(), max_uintx)                 \
-          constraint(NUMAInterleaveGranularityConstraintFunc,AfterErgo)     \
+          range(os::vm_allocation_granularity(), NOT_LP64(2*G) LP64_ONLY(8192*G)) \
                                                                             \
   product(bool, ForceNUMA, false,                                           \
           "Force NUMA optimizations on single-node/UMA systems")            \