Use futex-based locks and thread parker on {Free, Open, DragonFly}BSD. by m-ou-se · Pull Request #96510 · rust-lang/rust (original) (raw)

m-ou-se

This switches *BSD to our futex-based locks and thread parker.

Tracking issue: #93740

r? @Amanieu

@m-ou-se m-ou-se added A-concurrency

Area: Concurrency

O-openbsd

Operating system: OpenBSD

O-freebsd

Operating system: FreeBSD

O-netbsd

Operating system: NetBSD

S-blocked

Status: Blocked on something else such as an RFC or other implementation work.

O-dragonfly

Operating system: DragonFly BSD

T-libs

Relevant to the library team, which will review and decide on the PR/issue.

labels

Apr 28, 2022

@rust-highfive

This comment was marked as off-topic.

@m-ou-se

nbdd0121

@rust-log-analyzer

This comment has been minimized.

@m-ou-se m-ou-se marked this pull request as ready for review

April 29, 2022 18:02

@m-ou-se m-ou-se removed the S-blocked

Status: Blocked on something else such as an RFC or other implementation work.

label

Apr 29, 2022

Amanieu

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 m-ou-se changed the titleUse futex-based locks and thread parker on {Free, Open, Net, DragonFly}BSD. Use futex-based locks and thread parker on {Free, Open, DragonFly}BSD.

May 3, 2022

@m-ou-se

We don't guarantee this panics. On most platforms it doesn't anymore.

@m-ou-se

I've tested this change on FreeBSD, and all of std's test pass just fine.

@Amanieu

@bors

📌 Commit 21c5f78 has been approved by Amanieu

@bors 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

May 5, 2022

@bors

⌛ Testing commit 21c5f78 with merge 3beddd083e1fd318b89445a6282e80c46da01c5f...

@bors

@bors 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

May 5, 2022

@rust-log-analyzer

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

@m-ou-se

@bors 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

May 6, 2022

@bors

@bors

This was referenced

May 6, 2022

@rust-timer

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