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

Revert #93800, fixing CI time regression #94205

Merged
merged 1 commit into from
Feb 21, 2022

Conversation

Mark-Simulacrum
Copy link
Member

@Mark-Simulacrum Mark-Simulacrum commented Feb 21, 2022

This reverts commit a240ccd (merge commit of #93800), reversing
changes made to 393fdc1.

This PR was likely responsible for a relatively large regression in
dist-x86_64-msvc-alt builder times, from approximately 1.7 to 2.8 hours,
bringing that builder into the pool of the slowest builders we currently have.

This seems to be limited to the alt builder due to needing parallel-compiler
enabled, likely leading to slow LLVM compilation for some reason. See some
investigation in this Zulip stream.

cc @lcnr @oli-obk @b-naber (per original PRs review/author)

We can re-apply this PR once the regression is fixed, but it is sufficiently large that I don't think keeping this on master is viable in the meantime unless there's a very strong case to be made for it. Alternatively, we can disable that builder (it's not critical since it's an alt build), but that obviously carries its own costs.

…ir-val, r=oli-obk"

This reverts commit a240ccd, reversing
changes made to 393fdc1.

This PR was likely responsible for a relatively large regression in
dist-x86_64-msvc-alt builder times, from approximately 1.7 to 2.8 hours,
bringing that builder into the pool of the slowest builders we currently have.

This seems to be limited to the alt builder due to needing parallel-compiler
enabled, likely leading to slow LLVM compilation for some reason.
@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Feb 21, 2022
@rust-highfive
Copy link
Collaborator

r? @lcnr

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 21, 2022
@lcnr
Copy link
Contributor

lcnr commented Feb 21, 2022

needing parallel-compiler enabled

why is that the case and what's the impact from removing that flag? I have to admit that it feels pretty bad to revert a PR because of anything related to parallel-compiler as iirc that feature is still pretty far from ready and not something we currently care about.

if removing parallel-compiler doesn't work, r=me

@oli-obk
Copy link
Contributor

oli-obk commented Feb 21, 2022

I'm fairly certain that these changes are not the cause and any other small changes can cause the same regression in parallel compiler. We have no one with parallel compiler knowledge to even begin debugging this.

Still, let's revert and re-land the individual changes instead of all at the same time, then we at least know what minimal change makes llvm unhappy.

@bors r+

@bors
Copy link
Contributor

bors commented Feb 21, 2022

📌 Commit 9f76214 has been approved by oli-obk

@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 Feb 21, 2022
@Mark-Simulacrum
Copy link
Member Author

Dropping parallel compiler builds is "fine" (as I mention in PR description) but seems like a change that would need more discussion. In general, I suspect that the particular changes here are touching something in llvm and parallel compiler just happens to create the right conditions for it.

Note that this seems to happen with a standard (non parallel) rustc, just compiling a rustc that is parallel, since it affects stage 0 compilations. So it's likely no particular parallel knowledge is required to debug.

@Mark-Simulacrum
Copy link
Member Author

@bors p=1 to drop CI times

@bors
Copy link
Contributor

bors commented Feb 21, 2022

⌛ Testing commit 9f76214 with merge 1103d2e...

@bors
Copy link
Contributor

bors commented Feb 21, 2022

☀️ Test successful - checks-actions
Approved by: oli-obk
Pushing 1103d2e to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Feb 21, 2022
@bors bors merged commit 1103d2e into rust-lang:master Feb 21, 2022
@rustbot rustbot added this to the 1.61.0 milestone Feb 21, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (1103d2e): comparison url.

Summary: This benchmark run did not return any relevant results. 6 results were found to be statistically significant but too small to be relevant.

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

@b-naber b-naber mentioned this pull request Mar 8, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 8, 2022
Reinstate rust-lang#93800

rust-lang#93800 caused a regression in an alt builder with parallel enabled. rust-lang#94205 reverted that PR because of the regression. For an unknown reason the regression has disappeared, so we reinstate the changes in rust-lang#93800 here.

r? `@Mark-Simulacrum`
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-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants