-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Closed
Labels
A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows
Description
Right now when you spawn a SingleThreaded task, its scheduler is given a 'friend' scheduler to which it sends work that can't be executed. This creates a situation where threads that are rejecting a lot of work serialize a bunch of tasks through a single other thread which may not be able to run that work in a reasonable time.
Instead of sending work to a single friend it needs to either go back into the general pool, or (better) single-threaded schedulers should add their work queues to the global pool of work queues for stealing.
Metadata
Metadata
Assignees
Labels
A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows