Opened 22 months ago

Last modified 21 months ago

#9088 new bug

Per-thread Haskell thread list/numbering (remove global lock from thread allocation)

Reported by: ezyang Owned by: simonmar
Priority: low Milestone:
Component: Runtime System Version: 7.9
Keywords: Cc: simonmar, rrnewton@…, carter.schonwald@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


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).

Change History (2)

comment:1 Changed 22 months ago by rrnewton

  • Cc rrnewton@… added

comment:2 Changed 21 months ago by carter

  • Cc carter.schonwald@… added
Note: See TracTickets for help on using tickets.