
#15049: NUMA not detected on Win10 with AMD Ryzen Threadripper -----------------------------------+-------------------------------------- Reporter: kanetw | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Windows | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+-------------------------------------- Comment (by kanetw): I think I found the reason: win32/OSMem.c {{{ bool osNumaAvailable(void) { return osNumaNodes() > 1; } uint32_t osNumaNodes(void) { /* Cache the amount of NUMA values. */ static ULONG numNumaNodes = 0; /* Cache the amount of NUMA nodes. */ if (!numNumaNodes && !GetNumaHighestNodeNumber(&numNumaNodes)) { numNumaNodes = 1; } return numNumaNodes; } }}} Looks like a off by one. GetNumaHighestNodeNumber is 0 on non-NUMA systems, and >0 on NUMA systems, but osNumaAvailable() checks for >1 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15049#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler