aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/scheduler.cxx
AgeCommit message (Collapse)AuthorFilesLines
2021-05-12Deal with helper thread starvation during phase switchingBoris Kolpackov1-7/+139
The implemented solution entails shadowing old phase queues so that helpers don't pick up old phase tasks and boosting the max_threads count so that we can create more helpers if all the existing ones are stuck in the old phase.
2021-05-12Keep phase locked while working own queueBoris Kolpackov1-10/+5
2020-08-10Fix bug scheduler::allocate/deallocate()Boris Kolpackov1-2/+2
2020-08-07Add ability to allocate additional active threads to current threadBoris Kolpackov1-2/+32
2020-08-06Double default task queue sizeBoris Kolpackov1-1/+1
Testing shows quite a lot of "full" conditions on low core count (e.g., 2) CPUs (such as Intel U-series).
2020-06-18Complete NetBSD compatibilityBoris Kolpackov1-2/+2
2020-06-18Add NetBSD compatibilitymagenbluten1-3/+3
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2020-02-05Always calculate scheduler shard size as a primary numberKaren Arutyunov1-36/+42
2019-11-14Adjust deadlock diagnostics to reflect its fuzzy natureBoris Kolpackov1-3/+2
2019-11-13Increase deadlock detection timeoutBoris Kolpackov1-1/+1
2019-10-23Un-tune scheduler when building build system modulesBoris Kolpackov1-9/+20
2019-08-17Tweak deadlock detection thread wait timeBoris Kolpackov1-3/+3
2019-08-07Improve deadlock diagnostics (suppress stack trace, reword)Boris Kolpackov1-5/+4
2019-08-07Tighten deadlock monitor notification logicBoris Kolpackov1-23/+26
2019-08-07Make deadlock detection loop more robustBoris Kolpackov1-9/+19
2019-08-07Distinguish between internal/external wait deactivation in schedulerBoris Kolpackov1-11/+18
This turns out to be necessary for the deadlock detection to work properly.
2019-08-06Implement general deadlock detection via monitoring threadBoris Kolpackov1-55/+91
2019-07-01Split build system into library and driverBoris Kolpackov1-0/+820