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

Rollup of 6 pull requests #135357

Merged
merged 18 commits into from
Jan 11, 2025
Merged

Rollup of 6 pull requests #135357

merged 18 commits into from
Jan 11, 2025

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Jan 11, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

GrigorenkoPV and others added 18 commits January 9, 2025 20:21
instead of calling into git or checking the modification time of files,
simply print the warning if there is a very large number of
"modified" files.

also make the wording much softer, so false positives are less alarming.
- Just a copy of unsupported fs right now to reduce the noise from
  future PRs to allow for easier review.
- For the full working version of fs on uefi, see [0]

[0]: https://github.com/Ayush1325/rust/tree/uefi-file-full

Signed-off-by: Ayush Singh <[email protected]>
This greatly reduces the number of places that actually use the `rustc_layout_scalar_valid_range_*` attributes down to just 3:
```
library/core\src\ptr\non_null.rs
68:#[rustc_layout_scalar_valid_range_start(1)]

library/core\src\num\niche_types.rs
19:        #[rustc_layout_scalar_valid_range_start($low)]
20:        #[rustc_layout_scalar_valid_range_end($high)]
```

Everything else -- PAL Nanoseconds, alloc's `Cap`, niched FDs, etc -- all just wrap those `niche_types` types.
This API removes the need for several `unsafe` blocks, and leads to
clearer code.
…re, r=jieyouxu

bootstrap: `std::io::ErrorKind::CrossesDevices` is finally stable
…es, r=ChrisDenton

Update a bunch of library types for MCP807

This greatly reduces the number of places that actually use the `rustc_layout_scalar_valid_range_*` attributes down to just 3:
```
library/core\src\ptr\non_null.rs
68:#[rustc_layout_scalar_valid_range_start(1)]

library/core\src\num\niche_types.rs
19:        #[rustc_layout_scalar_valid_range_start($low)]
20:        #[rustc_layout_scalar_valid_range_end($high)]
```

Everything else -- PAL Nanoseconds, alloc's `Cap`, niched FDs, etc -- all just wrap those `niche_types` types.

r? ghost
…resurected, r=onur-ozkan

re-add a warning for old master branch, but with much simpler logic

instead of calling into git or checking the modification time of files, simply print the warning if there is a very large number of "modified" files.

also make the wording much softer, so false positives are less alarming.

(warning was removed in rust-lang#134935)
…oboet

Initial fs module for uefi

- Just a copy of unsupported fs right now to reduce the noise from future PRs to allow for easier review.
- For the full working version of fs on uefi, see [0]
- This is an effort to break the original PR (rust-lang#129700) into much smaller chunks for faster upstreaming.

[0]: https://github.com/Ayush1325/rust/tree/uefi-file-full
…r-builtins, r=jieyouxu

support target specific `optimized-compiler-builtins`

Makes it possible to control `optimized-compiler-builtins` for per target.

This was raised in the [zulip discussion](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Building.20and.20packaging.20Rust.20with.20x86_64-unknown-uefi.20support/near/492765883) yesterday.
…=jhpratt

Use `NonNull::without_provenance` within the standard library

This API removes the need for several `unsafe` blocks, and leads to clearer code. It uses feature `nonnull_provenance` (rust-lang#135243).

Close rust-lang#135343
@rustbot rustbot added O-solid Operating System: SOLID O-unix Operating system: Unix-like O-windows Operating system: Windows S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jan 11, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Jan 11, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Jan 11, 2025

📌 Commit 46222ce has been approved by jhpratt

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 Jan 11, 2025
@bors
Copy link
Contributor

bors commented Jan 11, 2025

⌛ Testing commit 46222ce with merge ce55b20...

@bors
Copy link
Contributor

bors commented Jan 11, 2025

☀️ Test successful - checks-actions
Approved by: jhpratt
Pushing ce55b20 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 11, 2025
@bors bors merged commit ce55b20 into rust-lang:master Jan 11, 2025
7 checks passed
@rustbot rustbot added this to the 1.86.0 milestone Jan 11, 2025
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#134074 bootstrap: std::io::ErrorKind::CrossesDevices is finally … de3ae45110bd32af35a5f4783c47410290d1865b (link)
#135236 Update a bunch of library types for MCP807 d94dcb2e5b9f0ff8563c9207b7f01fefecbeb79e (link)
#135301 re-add a warning for old master branch, but with much simpl… 9ab47304ab1279bc2796ad1abf842be57cae4d54 (link)
#135324 Initial fs module for uefi 4d77ae910d5a90ab611bf38756cdaa94bae3f094 (link)
#135326 support target specific optimized-compiler-builtins 11d8be167f3a2b49aa633b7a3265cff627d98d3e (link)
#135347 Use NonNull::without_provenance within the standard libra… c98ed1b3e10f4ddada8784a4d6eb0b25d071792e (link)

previous master: 7e4077d06f

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (ce55b20): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

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

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.4% [0.3%, 0.6%] 4
Regressions ❌
(secondary)
0.9% [0.2%, 2.0%] 7
Improvements ✅
(primary)
-0.5% [-0.5%, -0.5%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-0.5%, 0.6%] 5

Max RSS (memory usage)

Results (primary -1.2%, secondary 0.4%)

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)
4.1% [2.4%, 5.9%] 2
Regressions ❌
(secondary)
0.9% [0.9%, 0.9%] 3
Improvements ✅
(primary)
-3.9% [-6.7%, -0.5%] 4
Improvements ✅
(secondary)
-1.0% [-1.0%, -1.0%] 1
All ❌✅ (primary) -1.2% [-6.7%, 5.9%] 6

Cycles

Results (primary 1.1%, secondary -1.3%)

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)
1.1% [1.1%, 1.1%] 1
Regressions ❌
(secondary)
2.8% [2.8%, 2.8%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.7% [-3.2%, -2.3%] 3
All ❌✅ (primary) 1.1% [1.1%, 1.1%] 1

Binary size

Results (primary 0.1%, secondary 0.5%)

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.1% [0.0%, 0.4%] 53
Regressions ❌
(secondary)
1.0% [0.2%, 2.5%] 22
Improvements ✅
(primary)
-0.2% [-0.7%, -0.0%] 14
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 21
All ❌✅ (primary) 0.1% [-0.7%, 0.4%] 67

Bootstrap: 765.598s -> 762.986s (-0.34%)
Artifact size: 325.92 MiB -> 326.03 MiB (0.03%)

@rustbot rustbot added the perf-regression Performance regression. label Jan 11, 2025
@rylev
Copy link
Member

rylev commented Jan 14, 2025

@rust-timer build 11d8be1

@rust-timer

This comment has been minimized.

@jhpratt jhpratt deleted the rollup-gs00yt3 branch January 14, 2025 09:49
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (11d8be1): comparison URL.

Overall result: no relevant changes - no action needed

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary 2.5%, secondary 2.9%)

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)
2.5% [1.6%, 3.4%] 2
Regressions ❌
(secondary)
2.9% [2.9%, 2.9%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.5% [1.6%, 3.4%] 2

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 765.598s -> 765.648s (0.01%)
Artifact size: 325.92 MiB -> 326.01 MiB (0.03%)

@rylev
Copy link
Member

rylev commented Jan 14, 2025

@rust-timer build d94dcb2

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d94dcb2): comparison URL.

Overall result: ❌✅ regressions and improvements - please read the text below

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
0.4% [0.2%, 0.6%] 3
Regressions ❌
(secondary)
0.2% [0.2%, 0.3%] 2
Improvements ✅
(primary)
-0.6% [-0.6%, -0.6%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.1% [-0.6%, 0.6%] 4

Max RSS (memory usage)

Results (primary -1.3%, secondary 1.3%)

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)
3.3% [2.5%, 4.1%] 2
Regressions ❌
(secondary)
1.3% [0.9%, 2.5%] 4
Improvements ✅
(primary)
-4.3% [-5.2%, -3.3%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.3% [-5.2%, 4.1%] 5

Cycles

Results (primary 0.6%, secondary -2.4%)

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)
2.0% [2.0%, 2.0%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-0.9%, -0.9%] 1
Improvements ✅
(secondary)
-2.4% [-2.5%, -2.4%] 2
All ❌✅ (primary) 0.6% [-0.9%, 2.0%] 2

Binary size

Results (primary 0.1%, secondary -0.0%)

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.1% [0.0%, 0.5%] 44
Regressions ❌
(secondary)
0.2% [0.1%, 0.3%] 7
Improvements ✅
(primary)
-0.1% [-0.3%, -0.0%] 9
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 35
All ❌✅ (primary) 0.1% [-0.3%, 0.5%] 53

Bootstrap: 765.598s -> 762.35s (-0.42%)
Artifact size: 325.92 MiB -> 326.07 MiB (0.05%)

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. O-solid Operating System: SOLID O-unix Operating system: Unix-like O-windows Operating system: Windows perf-regression Performance regression. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.