Danny Waser (@wasertech) commented about dlls/kernelbase/memory.c:
numa_nodes[node_number].cpu_mask = info[i].ProcessorMask;
numa_nodes[node_number].valid = TRUE;
if (node_number > max_node) max_node = node_number;
TRACE_(numa)("NUMA raw: node=%lu mask=0x%llx\n", (unsigned long)node_number, (unsigned long long)info[i].ProcessorMask);
}
}
}
}
HeapFree(GetProcessHeap(), 0, info);
}
- }
- /* Fallback single node if requested or none discovered */
- if (numa_force_single || (max_node == 0 && !numa_nodes[0].valid))
- {
SYSTEM_INFO si; GetSystemInfo(&si);
numa_nodes[0].cpu_mask = (si.dwNumberOfProcessors >= (sizeof(ULONG_PTR)*8)) ? ~(ULONG_PTR)0 : ((1ULL << si.dwNumberOfProcessors) - 1);
Major - Branch condition evaluates to a garbage value
Need to address that.