Dagger's scheduler has previously avoided scheduling work on Worker 1, Thread 1, as the scheduler itself runs on that thread, and we don't want non-yielding tasks to block scheduling from occurring. This PR investigates how loosening this restriction (only when deemed profitable) would work out. We may need some additional metrics to make this more reliable, but it should at least still be semantically correct.
Dagger's scheduler has previously avoided scheduling work on Worker 1, Thread 1, as the scheduler itself runs on that thread, and we don't want non-yielding tasks to block scheduling from occurring. This PR investigates how loosening this restriction (only when deemed profitable) would work out. We may need some additional metrics to make this more reliable, but it should at least still be semantically correct.