Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8181055

PPC64: "mbind: Invalid argument" still seen after 8175813

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 10
    • 10
    • hotspot
    • gc
    • b21
    • ppc
    • linux

        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



              zgu Zhengyu Gu
              zgu Zhengyu Gu
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: