Skip to content

Conversation

jieyouxu
Copy link
Member

@jieyouxu jieyouxu commented Mar 24, 2025

Reverts #137593.

It's likely because the perf machine has an old git version that doesn't have the --diff-merges option or its forwarding in git rev-list yet...

This reverts commit 95994f9, reversing changes made to 7290b04.

This will unfortunately re-open #101907.

cc @RalfJung @Mark-Simulacrum for FYI
r? @onur-ozkan (or bootstrap or infra or anyone really)

…load-llvm, r=Mark-Simulacrum"

Looks like unfortunately the `--diff-merges` flag is a `git show`-only
command, not `git rev-list`.

This reverts commit 95994f9, reversing
changes made to 7290b04.
@rustbot rustbot added 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) labels Mar 24, 2025
@jieyouxu
Copy link
Member Author

@bors p=101

@jieyouxu
Copy link
Member Author

jieyouxu commented Mar 24, 2025

FTR, I'm posting a revert instead of a fix-forward because I know absolutely nothing about git show --diff-merge=first-parent vs git rev-list --first-parent at all.

@dianqk
Copy link
Member

dianqk commented Mar 24, 2025

@bors r+ rollup=never
perf is broken.

@bors
Copy link
Collaborator

bors commented Mar 24, 2025

📌 Commit c71569a has been approved by dianqk

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 Mar 24, 2025
@bors
Copy link
Collaborator

bors commented Mar 24, 2025

⌛ Testing commit c71569a with merge f1cf624...

bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 24, 2025
Revert "fix download-llvm logic for subtree sync branches rust-lang#137593"

Looks like unfortunately the `--diff-merges` flag is a `git show`-only command, not `git rev-list`.

See https://git-scm.com/docs/git-rev-list#Documentation/git-rev-list.txt---first-parent which has `--first-parent`, versus https://git-scm.com/docs/git-show#Documentation/git-show.txt---diff-mergesltformatgt which has `--diff-merges=first-parent`.

This reverts commit 95994f9, reversing changes made to 7290b04.

This will unfortunately re-open rust-lang#101907 but that isn't fixed anyway since the git invocation is broken.

r? `@onur-ozkan` (or bootstrap or infra or anyone really)
@Kobzol
Copy link
Member

Kobzol commented Mar 24, 2025

#138591 will finally remove all these git hacks :)

@RalfJung
Copy link
Member

RalfJung commented Mar 24, 2025

Hm, very strange, I tried this locally with git rev-list and it worked. The docs do indeed not reflect this, but this command works here:

git rev-list [email protected] -n1 716dd22 --diff-merges=first-parent -- src/llvm-project src/bootstrap/download-ci-llvm-stamp src/version

@RalfJung
Copy link
Member

Also, why did the PR even land if it completely breaks the invocation?!?

@Kobzol
Copy link
Member

Kobzol commented Mar 24, 2025

I think that the perf. collector machine just has an old version of git.

This code should be nuked soon, hopefully, so I don't think it's worth fixing too much.

@jieyouxu
Copy link
Member Author

jieyouxu commented Mar 24, 2025

Hm, very strange, I tried this locally with git rev-list and it worked.

I'm not sure how it works for you locally, that is bizzare... https://git-scm.com/docs/git-rev-list has no results if I grep --diff-merges. Looking at the history, AFAICT it never was a valid option, e.g. git/git@452d264 from like 4 years ago.

@RalfJung
Copy link
Member

Can you just try running the command I posted above locally in your rustc checkout? With git 2.47.2 it seems to just work. 🤷

@jieyouxu
Copy link
Member Author

$ git rev-list [email protected] -n1 716dd22 --diff-merges=first-parent -- src/llvm-project src/bootstrap/download-ci-llvm-stamp src/version
ce36a966c79e109dabeef7a47fe68e5294c6d71e

That is bizarre, it works for me too...

@workingjubilee
Copy link
Member

On the git show page:
@jieyouxu

This manual page describes only the most frequently used options.

This is so with most of the manual pages. In fact, a few commands have almost-perfect supersets of another command's option list.

@jieyouxu
Copy link
Member Author

Which means this revert may not be reverting the right PR... But then looking at the rollup I can't tell if another PR could break the perf

@jieyouxu
Copy link
Member Author

@bors retry r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 24, 2025
@RalfJung
Copy link
Member

This is probably the right PR to revert, the perf machine might just have an old version of git (as @Kobzol already hypothesized). Maybe the CI log prints the git version somewhere?

So I'd say let's land this revert, and hope for @Kobzol's refactor to also fix my issue.

@jieyouxu
Copy link
Member Author

@bors r=dianqk

@bors
Copy link
Collaborator

bors commented Mar 24, 2025

📌 Commit c71569a has been approved by dianqk

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Mar 24, 2025
@bors
Copy link
Collaborator

bors commented Mar 24, 2025

⌛ Testing commit c71569a with merge b95aac6...

@workingjubilee
Copy link
Member

Even if this isn't the right PR to revert, as long as the tree is closed due to a rollup, I can't see any harm in filing a revert of each PR, one by one, until we find the one that did it.

@Kobzol
Copy link
Member

Kobzol commented Mar 24, 2025

The perf machine has git 2.17.1.

@jieyouxu
Copy link
Member Author

The perf machine has git 2.17.1.

Its-not-git

@RalfJung
Copy link
Member

RalfJung commented Mar 24, 2025 via email

@bors
Copy link
Collaborator

bors commented Mar 24, 2025

☀️ Test successful - checks-actions
Approved by: dianqk
Pushing b95aac6 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 24, 2025
@bors bors merged commit b95aac6 into rust-lang:master Mar 24, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 24, 2025
Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing ae8ab87 (parent) -> b95aac6 (this PR)

Test differences

No test diffs found

@jieyouxu jieyouxu deleted the revert-ci-llvm branch March 24, 2025 11:13
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (b95aac6): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.3%, -0.3%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -3.0%, secondary -2.6%)

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.3% [1.3%, 1.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-7.3% [-7.3%, -7.3%] 1
Improvements ✅
(secondary)
-2.6% [-3.0%, -2.1%] 2
All ❌✅ (primary) -3.0% [-7.3%, 1.3%] 2

Cycles

Results (primary 3.5%, secondary 2.8%)

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.5% [1.3%, 4.9%] 4
Regressions ❌
(secondary)
2.8% [2.8%, 2.8%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 3.5% [1.3%, 4.9%] 4

Binary size

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

Bootstrap: missing data
Artifact size: 365.48 MiB -> 365.48 MiB (0.00%)

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. 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)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants