Skip to content
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

Closed
wants to merge 7 commits into from
Closed

Remove wait or add new #3243

wants to merge 7 commits into from

Conversation

biddisco
Copy link
Contributor

@biddisco biddisco commented Mar 16, 2018

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

@biddisco
Copy link
Contributor Author

Same is true for the corresponding thread state.

The thread state still exists, it just isn't necessary to store staged threads in a separate queue

@msimberg
Copy link
Contributor

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

Thomas Heller and others added 7 commits February 1, 2019 11:17
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.
@biddisco
Copy link
Contributor Author

biddisco commented Feb 6, 2019

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.

@hkaiser
Copy link
Member

hkaiser commented Feb 7, 2019

@biddisco let's get this in asap - it's the only way.

@hkaiser
Copy link
Member

hkaiser commented Apr 7, 2019

@biddisco I think we can close this now as we all agree that wait_or_add_new should not be completely removed. Additionally, many of the issues that were intended to be solved by this have been addressed by #3768. Please reopen, if needed

@hkaiser hkaiser closed this Apr 7, 2019
@hkaiser hkaiser deleted the remove_wait_or_add_new branch April 7, 2019 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants