src/os/linux/vm/os_linux.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
UseNUMA Cdiff src/os/linux/vm/os_linux.cpp
src/os/linux/vm/os_linux.cpp
Print this page
rev 3419 : 7179517: Enable NUMA by default on NUMA hardware
Summary: Enable UseNUMA by default on NUMA hardware
Reviewed-by: jwilhelm
*** 4232,4249 ****
--- 4232,4263 ----
tty->print_cr("[HotSpot is running with %s, %s(%s)]\n",
Linux::glibc_version(), Linux::libpthread_version(),
Linux::is_floating_stack() ? "floating stack" : "fixed stack");
}
+ #ifdef _LP64
+ // For 64 bit numa systems, enable numa features if heap is large enough
+ if (UseNUMA || (FLAG_IS_DEFAULT(UseNUMA) && is_server_class_machine())) {
+ #else
if (UseNUMA) {
+ #endif
if (!Linux::libnuma_init()) {
UseNUMA = false;
} else {
if ((Linux::numa_max_node() < 1)) {
// There's only one node(they start from 0), disable NUMA.
UseNUMA = false;
}
+ #ifdef _LP64
+ else {
+ // There is more than 1 node
+ if (FLAG_IS_DEFAULT(UseNUMA) && (MaxHeapSize >= NUMAAutoStartHeapSize)) {
+ UseNUMA = true;
+ UseNUMAInterleaving = true;
+ }
+ }
+ #endif
}
// With SHM large pages we cannot uncommit a page, so there's not way
// we can make the adaptive lgrp chunk resizing work. If the user specified
// both UseNUMA and UseLargePages (or UseSHM) on the command line - warn and
// disable adaptive resizing.
src/os/linux/vm/os_linux.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File