Use futex-based locks and thread parker on {Free, Open, DragonFly}BSD. by m-ou-se · Pull Request #96510 · rust-lang/rust (original) (raw)
This switches *BSD to our futex-based locks and thread parker.
Tracking issue: #93740
r? @Amanieu
m-ou-se added A-concurrency
Area: Concurrency
Operating system: OpenBSD
Operating system: FreeBSD
Operating system: NetBSD
Status: Blocked on something else such as an RFC or other implementation work.
Operating system: DragonFly BSD
Relevant to the library team, which will review and decide on the PR/issue.
labels
This comment was marked as off-topic.
This comment has been minimized.
m-ou-se marked this pull request as ready for review
Status: Blocked on something else such as an RFC or other implementation work.
label
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The implementation mostly looks good to me. Have you actually tested these on a BSD system? We don't test those in CI.
m-ou-se changed the title
Use futex-based locks and thread parker on {Free, Open, Net, DragonFly}BSD. Use futex-based locks and thread parker on {Free, Open, DragonFly}BSD.
We don't guarantee this panics. On most platforms it doesn't anymore.
I've tested this change on FreeBSD, and all of std
's test pass just fine.
📌 Commit 21c5f78 has been approved by Amanieu
bors added S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
⌛ Testing commit 21c5f78 with merge 3beddd083e1fd318b89445a6282e80c46da01c5f...
bors added S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
and removed S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
labels
The job x86_64-gnu-tools
failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
.......... (60/63)
.. (63/63)
/checkout/src/test/rustdoc-gui/search-filter.goml search-filter... FAILED
[ERROR] (line 6) TimeoutError: waiting for selector "#titles" failed: timeout 30000ms exceeded: for command `wait-for: "#titles"`
Build completed unsuccessfully in 0:00:45
bors added S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
This was referenced
May 6, 2022
Finished benchmarking commit (7f9e013): comparison url.
Summary: This benchmark run did not return any relevant results.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.
@rustbot label: -perf-regression