--- 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 --- old/src/hotspot/os/solaris/os_solaris.cpp 2020-02-19 17:11:39.000000000 +0100 +++ new/src/hotspot/os/solaris/os_solaris.cpp 2020-02-19 17:11:39.000000000 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -3934,13 +3934,11 @@ size_t lgrp_num = os::numa_get_leaf_groups(lgrp_ids, lgrp_limit); FREE_C_HEAP_ARRAY(int, lgrp_ids); if (lgrp_num < 2) { - // There's only one locality group, disable NUMA. - UseNUMA = false; + // There's only one locality group, disable NUMA unless + // user explicilty forces NUMA optimizations on single-node/UMA systems + UseNUMA = ForceNUMA; } } - if (!UseNUMA && ForceNUMA) { - UseNUMA = true; - } } Solaris::signal_sets_init();