src/hotspot/os/linux/os_linux.cpp
changeset 59060 fce1fa1bdc91
parent 59016 3b9eeae66fa0
child 59062 6530de931b8e
equal deleted inserted replaced
59059:27a266d5fb13 59060:fce1fa1bdc91
  3005     }
  3005     }
  3006   }
  3006   }
  3007   return 0;
  3007   return 0;
  3008 }
  3008 }
  3009 
  3009 
       
  3010 int os::numa_get_group_id_for_address(const void* address) {
       
  3011 #ifndef MPOL_F_NODE
       
  3012 #define MPOL_F_NODE     (1<<0)  // Return next IL mode instead of node mask
       
  3013 #endif
       
  3014 
       
  3015 #ifndef MPOL_F_ADDR
       
  3016 #define MPOL_F_ADDR     (1<<1)  // Look up VMA using address
       
  3017 #endif
       
  3018 
       
  3019   int id = 0;
       
  3020 
       
  3021   if (syscall(SYS_get_mempolicy, &id, NULL, 0, const_cast<void*>(address), MPOL_F_NODE | MPOL_F_ADDR) == -1) {
       
  3022     return -1;
       
  3023   }
       
  3024   return id;
       
  3025 }
       
  3026 
  3010 int os::Linux::get_existing_num_nodes() {
  3027 int os::Linux::get_existing_num_nodes() {
  3011   int node;
  3028   int node;
  3012   int highest_node_number = Linux::numa_max_node();
  3029   int highest_node_number = Linux::numa_max_node();
  3013   int num_nodes = 0;
  3030   int num_nodes = 0;
  3014 
  3031