-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
Rwlock downgrade #128219
base: master
Are you sure you want to change the base?
Rwlock downgrade #128219
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Amanieu (or someone else) some time within the next two weeks. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
@kawadakk I am very unfamiliar with the SOLID platform, do you know if the external rwlock implementation for SOLID supports downgrade? |
r? @joboet |
☔ The latest upstream changes (presumably #128313) made this pull request unmergeable. Please resolve the merge conflicts. |
☔ The latest upstream changes (presumably #125443) made this pull request unmergeable. Please resolve the merge conflicts. |
@connortsui20 The SOLID platform doesn't support the downgrade operation for rwlocks. Migrating to the |
This is not strictly necessary, as we could make the downgrade operation a noop where we just don't allow other readers to read. However there are some things that I think need to be discussed first (see #128203). |
This comment has been minimized.
This comment has been minimized.
I'm reassigning this, I shouldn't review my own code... r? libs |
There are merge commits (commits with multiple parents) in your changes. We have a no merge policy so these commits will need to be removed for this pull request to be merged. You can start a rebase with the following commands:
The following commits are merge commits: |
5b1daa6
to
e7d0803
Compare
883dce0
to
c0bb51d
Compare
Sorry about this, I didn't get the chance to review the rest of this. I can do that when I'm back later this month, but in case somebody wants to pick it up before then. r? @libs |
r? tgross35 I'll set the reviewer back for now, since I don't currently have the bandwidth to dig in here. |
Could not assign reviewer from: |
r? @libs |
Should I split out the queue implementation changes (of which a significant portion are just documentation changes) into a separate PR to keep this one more simple? I understand that the queue implementation is somewhat tricky so it might deserve its own PR |
☔ The latest upstream changes (presumably #130724) made this pull request unmergeable. Please resolve the merge conflicts. |
Tracking Issue: #128203
This PR adds a
downgrade
method forRwLock
/RwLockWriteGuard
on all currently supported platforms.Outstanding questions:
futex.rs
change affect performance at all? It doesn't seem like it will but we can't be certain until we bench it...queue.rs
implementation to allow it to support downgrades?