[GHC] #9088: Per-thread Haskell thread list/numbering (remove global lock from thread allocation)

GHC ghc-devs at haskell.org
Wed May 7 21:46:31 UTC 2014


#9088: Per-thread Haskell thread list/numbering (remove global lock from thread
allocation)
------------------------------+--------------------------------------------
       Reporter:  ezyang      |             Owner:  simonmar
           Type:  bug         |            Status:  new
       Priority:  low         |         Milestone:
      Component:  Runtime     |           Version:  7.9
  System                      |  Operating System:  Unknown/Multiple
       Keywords:              |   Type of failure:  Runtime performance bug
   Architecture:              |         Test Case:
  Unknown/Multiple            |          Blocking:
     Difficulty:  Unknown     |
     Blocked By:              |
Related Tickets:              |
------------------------------+--------------------------------------------
 Currently, we take out the scheduler lock when a thread is allocated, in
 order to make sure we allocate a fresh thread ID and can attach it to the
 global thread list in the nursery. If we partition the thread ID space per
 originating capability and maintain thread lists per OS thread, we can
 remove this lock.

 Marking low priority because no one seems to be running into this as their
 particular scaling problem (and there may be other reasons why high thread
 churn doesn't scale across cores).

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


More information about the ghc-tickets mailing list