Relates :
|
|
Relates :
|
|
Relates :
|
After back porting 8175813 to openjdk 1.8.0, "mbind: Invalid argument" message still can be seen on one of PPC64 machines. The problem is that, the machine only has one node, and numa_interleave_memory() apparently does not like to be called when it is the case. [zgu@ibm-p730-03-lp1 hotspot]$ lscpu Architecture: ppc64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Big Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 4 Core(s) per socket: 1 Socket(s): 2 NUMA node(s): 2 Model: 2.1 (pvr 003f 0201) Model name: POWER7 (architected), altivec supported L1d cache: 32K L1i cache: 32K NUMA node0 CPU(s): 0-7 NUMA node1 CPU(s): Following patch fixes the problem: diff -r 56d2166223f6 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Wed May 24 12:42:44 2017 +0200 +++ b/src/os/linux/vm/os_linux.cpp Wed May 24 19:28:49 2017 -0400 @@ -2728,7 +2728,9 @@ } void os::numa_make_global(char *addr, size_t bytes) { - Linux::numa_interleave_memory(addr, bytes); + if (numa_get_groups_num() > 1) { + Linux::numa_interleave_memory(addr, bytes); + } } // Define for numa_set_bind_policy(int). Setting the argument to 0 will set the
|