--- old/src/hotspot/os/linux/os_linux.cpp 2020-02-19 17:11:39.000000000 +0100 +++ new/src/hotspot/os/linux/os_linux.cpp 2020-02-19 17:11:39.000000000 +0100 @@ -5127,8 +5127,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. - UseNUMA = false; + // is bound explicitly to a single node using membind, disable NUMA unless + // user explicilty forces NUMA optimizations on single-node/UMA systems + UseNUMA = ForceNUMA; } else { LogTarget(Info,os) log; @@ -5167,10 +5168,6 @@ UseAdaptiveNUMAChunkSizing = false; } } - - if (!UseNUMA && ForceNUMA) { - UseNUMA = true; - } } // this is called _after_ the global arguments have been parsed