New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove wait or add new #3243
Remove wait or add new #3243
Conversation
The thread state still exists, it just isn't necessary to store staged threads in a separate queue |
This looks very nice, but I'll have a closer look once the other PRs are merged and the conflicts are resolved (when the diff is a bit smaller). |
8444608
to
5e13a67
Compare
c132c82
to
fa00ffe
Compare
392ae56
to
3cfc1b6
Compare
e172a92
to
43dc2bc
Compare
43dc2bc
to
c00a144
Compare
This changes the context implementations to perform a lazy initialization of their respective contexts. This potentially leads to less resource usage.
…ead api With lazy creation of stacks, the staged queue is no longer needed since tsks can be created immediately and scheduled when they are ready. All executrs and calls to register_thread_nullary/etc need to are modified to remove the run_now param since it is no longer meaningful.
c00a144
to
4789991
Compare
Unfortunately, this branch has been rebased so many times in the last year that at some point, something got messed up. I'm looking at it from fresh to try to unpick what's the right code to have/use. |
@biddisco let's get this in asap - it's the only way. |
This is a cleanup of the scheduling system to remove the work_items from thread_queue and wait_or_add_new.
It relies on #3146 (lazy init) and also #3186 (remove schedulers) which ought to be merged or closed at the same time (those two PRs are included in this one).
Proposed Changes
Removes work_items and wait_or_add_new - improves performance of scheduling_loop -
Any background context you want to provide?
After this, stack reuse needs to be examined