[GHC] #12181: Multi-threaded code on ARM64 GHC runtime doesn't use all available cores

GHC ghc-devs at haskell.org
Tue Jul 5 18:28:06 UTC 2016


#12181: Multi-threaded code on ARM64 GHC runtime doesn't use all available cores
--------------------------------------------+------------------------------
        Reporter:  varosi                   |                Owner:
            Type:  bug                      |               Status:  new
        Priority:  normal                   |            Milestone:
       Component:  Runtime System           |              Version:  7.10.3
      Resolution:                           |             Keywords:
Operating System:  Unknown/Multiple         |         Architecture:  arm
 Type of failure:  Runtime performance bug  |            Test Case:
      Blocked By:                           |             Blocking:
 Related Tickets:                           |  Differential Rev(s):
       Wiki Page:                           |
--------------------------------------------+------------------------------

Comment (by rwbarton):

 It really doesn't seem sensible to me to have GHC assume by default that
 CPUs that are off-line will magically become available under load. Though
 admittedly I don't know what the use of taking CPUs off-line is supposed
 to be.

 This seems like a deficiency in the operating system, that there isn't a
 way to ask it "how many CPUs will my program run on". It's not for GHC to
 work around this I think. You could do so yourself by starting a thread
 that periodically checks the number of currently available processors and
 calls `setNumCapabilities`. Or just run with `-N4`.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12181#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list