Skip to content

Get rid of the rust_task_thread::blocked_tasks list #2027

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

Closed
brson opened this issue Mar 19, 2012 · 3 comments
Closed

Get rid of the rust_task_thread::blocked_tasks list #2027

brson opened this issue Mar 19, 2012 · 3 comments
Labels
A-runtime Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows I-slow Issue: Problems and improvements with respect to performance of generated code.

Comments

@brson
Copy link
Contributor

brson commented Mar 19, 2012

This list is only used to locate all tasks when the entire runtime fails. If we implemented #1189 then it wouldn't need to exist at all

@bblum
Copy link
Contributor

bblum commented Jul 25, 2012

I'm not sure it's feasible to get rid of this given the new linked failure mechanism. Even with a message-based tree, spawn_unlinked gives us the possibility of "losing track" of tasks, if we hope to get all of them inductively through failure propagation.

I'd suggest relying on pipes' behaviour of closing-in-destructors, so when failure propagates tasks wouldn't need to get explicitly punted awake, but as long as there's the possibility of deadlocking pipe reads, that can't work either.

In short, not sure it makes sense to do this.

@bblum
Copy link
Contributor

bblum commented Aug 10, 2012

maybe i'll try getting rid of it temporarily and measuring the speed, just to see if this is worth thinking about

@ghost ghost assigned bblum Aug 10, 2012
@bblum
Copy link
Contributor

bblum commented Aug 23, 2012

I had another look and in the common case it's never even touched except under the same lock as running_tasks. So it can only be as much slowdown as a linked-list manipulation.

Briefly tested removing it (didn't try very hard), saw no difference with vs without. For its functionality, it should stay.

@bblum bblum closed this as completed Aug 23, 2012
@brson brson unassigned bblum Jun 16, 2014
bors added a commit to rust-lang-ci/rust that referenced this issue Sep 22, 2022
Move test suite to ui tests and bless stderr output

fixes rust-lang#2027

* [ ] //~ annotations should check that the error happens on their line
* [x] document all the things
celinval added a commit to celinval/rust-dev that referenced this issue Jun 4, 2024
Co-authored-by: Celina G. Val <celinval@amazon.com>
bors pushed a commit to rust-lang-ci/rust that referenced this issue Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-runtime Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows I-slow Issue: Problems and improvements with respect to performance of generated code.
Projects
None yet
Development

No branches or pull requests

2 participants