Skip to content

Rollup of 6 pull requests #135357

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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 <ayush@beagleboard.org>
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.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
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
Collaborator

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
Collaborator

bors commented Jan 11, 2025

⌛ Testing commit 46222ce with merge ce55b20...

@bors
Copy link
Collaborator

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%)

# for free to join this conversation on GitHub. Already have an account? # 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.