static __init int setup_node(int pxm) { unsigned node = pxm2node[pxm]; if (node == 0xff) { if (nodes_weight(nodes_found) >= MAX_NUMNODES) return -1; node = first_unset_node(nodes_found); node_set(node, nodes_found); pxm2node[pxm] = node; } return pxm2node[pxm]; }
int acpi_map_pxm_to_node(int pxm) { int node = pxm_to_node_map[pxm]; if (node < 0) { if (nodes_weight(nodes_found_map) >= MAX_NUMNODES) return NUMA_NO_NODE; node = first_unset_node(nodes_found_map); __acpi_map_pxm_to_node(pxm, node); node_set(node, nodes_found_map); } return node; }
int __cpuinit acpi_map_pxm_to_node(int pxm) { int node = pxm_to_node_map[pxm]; if (node < 0){ if (nodes_weight(nodes_found_map) >= MAX_NUMNODES) return NID_INVAL; node = first_unset_node(nodes_found_map); pxm_to_node_map[pxm] = node; node_to_pxm_map[node] = pxm; node_set(node, nodes_found_map); } return node; }