< prev index next >

src/hotspot/os/solaris/os_solaris.cpp

Print this page
rev 59103 : [mq]: take2

@@ -3914,11 +3914,11 @@
 
   Solaris::libthread_init();
 
   if (UseNUMA) {
     if (!Solaris::liblgrp_init()) {
-      UseNUMA = false;
+      FLAG_SET_ERGO(UseNUMA, false);
     } else {
       size_t lgrp_limit = os::numa_get_groups_num();
       int *lgrp_ids = NEW_C_HEAP_ARRAY(int, lgrp_limit, mtInternal);
       size_t lgrp_num = os::numa_get_leaf_groups(lgrp_ids, lgrp_limit);
       FREE_C_HEAP_ARRAY(int, lgrp_ids);

@@ -3928,10 +3928,15 @@
         UseNUMA = ForceNUMA;
       }
     }
   }
 
+  // When NUMA requested, not-NUMA-aware allocations default to interleaving.
+  if (UseNUMA && !UseNUMAInterleaving) {
+    FLAG_SET_ERGO_IF_DEFAULT(UseNUMAInterleaving, true);
+  }
+
   Solaris::signal_sets_init();
   Solaris::init_signal_mem();
   Solaris::install_signal_handlers();
   // Initialize data for jdk.internal.misc.Signal
   if (!ReduceSignalUsage) {
< prev index next >