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

update Miri #103721

Merged
merged 20 commits into from
Oct 30, 2022
Merged

update Miri #103721

merged 20 commits into from
Oct 30, 2022

Conversation

RalfJung and others added 20 commits October 26, 2022 14:01
test on windows-gnu target

The windows-gnu target for an open-source windows toolchain is slightly different in some low-level aspects of the standard library, such as TLS handling. So let's separately ensure that this works. (Also tests a 64bit windows target on a windows host, which we didn't have so far.)
simplify GHA

I think we can just list the cases with `include:` and don't also need this `build` array.
change cronjob time

This way it is again in my morning.
Implement `ptr_mask` intrinsic

I promised I'll implement it, but then forgot 😅
update ignore-windows comments

Turns out 2 of these tests can actually be enabled. :)
Implement thread parking for Windows

Cc rust-lang/miri#2628

Based on code by `@DrMeepster.` However I adjusted `WakeByAddressSingle`: I don't think the futex value is compared *again* after the thread is woken up. I see nothing in the Windows docs indicating such a comparison, and the Linux futex does not behave like that either. So we only check the value before sleeping, same as on Linux.
…Jung

Support timeouts with monotonic clocks even when isolation is enabled

With the deterministic monotonic clock support we now have, we can allow some synchronization primitives with timeouts even under isolation:
- Linux futex waiting (when set to the monotonic clock)
- pthread_cond_timedwait (when set to the monotonic clock)
- Windows WaitOnAddress

Unfortunately none of these exist on macOS -- the standard library always uses the system clock for timeouts on macOS, so that will still require `-Zmiri-disable-isolation`.
@rustbot
Copy link
Collaborator

rustbot commented Oct 29, 2022

r? @Mark-Simulacrum

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 29, 2022
@rustbot
Copy link
Collaborator

rustbot commented Oct 29, 2022

The Miri subtree was changed

cc @rust-lang/miri

@RalfJung
Copy link
Member Author

Tools builder is happy.
@bors r+

@bors
Copy link
Contributor

bors commented Oct 29, 2022

📌 Commit e729db1 has been approved by RalfJung

It is now in the queue for this repository.

@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 Oct 29, 2022
@RalfJung
Copy link
Member Author

@bors p=1
fixed miri-test-libstd failure

@RalfJung
Copy link
Member Author

Just testing something...
r? @oli-obk

@rustbot rustbot assigned oli-obk and unassigned Mark-Simulacrum Oct 29, 2022
@bors
Copy link
Contributor

bors commented Oct 30, 2022

⌛ Testing commit e729db1 with merge b03502b...

@bors
Copy link
Contributor

bors commented Oct 30, 2022

☀️ Test successful - checks-actions
Approved by: RalfJung
Pushing b03502b to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 30, 2022
@bors bors merged commit b03502b into rust-lang:master Oct 30, 2022
@rustbot rustbot added this to the 1.67.0 milestone Oct 30, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b03502b): comparison URL.

Overall result: ❌ regressions - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
1.3% [1.2%, 1.4%] 2
Regressions ❌
(secondary)
3.1% [0.4%, 4.1%] 7
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.3% [1.2%, 1.4%] 2

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.2% [3.2%, 3.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.5% [2.1%, 2.8%] 4
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

@rustbot rustbot added the perf-regression Performance regression. label Oct 30, 2022
@RalfJung
Copy link
Member Author

That's definitely noise, this didn't even change rustc.
@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Oct 30, 2022
@RalfJung RalfJung deleted the miri branch October 30, 2022 09:30
Aaron1011 pushed a commit to Aaron1011/rust that referenced this pull request Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants