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

[perf] test MCP510 #113382

Closed
wants to merge 2 commits into from
Closed

[perf] test MCP510 #113382

wants to merge 2 commits into from

Conversation

lqd
Copy link
Member

@lqd lqd commented Jul 5, 2023

r? @ghost

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 5, 2023
@lqd
Copy link
Member Author

lqd commented Jul 5, 2023

Let's see if the bootstrapping cfgs are correctly set up.

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 5, 2023
@bors
Copy link
Contributor

bors commented Jul 5, 2023

⌛ Trying commit 793c8e6 with merge 4cb98396e9dc17fbe9b0da2b1bd35d9b05fff30c...

@bors
Copy link
Contributor

bors commented Jul 5, 2023

☀️ Try build successful - checks-actions
Build commit: 4cb98396e9dc17fbe9b0da2b1bd35d9b05fff30c (4cb98396e9dc17fbe9b0da2b1bd35d9b05fff30c)

1 similar comment
@bors

This comment was marked as duplicate.

@rust-timer

This comment has been minimized.

@lqd
Copy link
Member Author

lqd commented Jul 5, 2023

Let's see if the bootstrapping cfgs are correctly set up.

$  cargo +4cb98396e9dc17fbe9b0da2b1bd35d9b05fff30c build -q && readelf -p .comment ./target/debug/helloworld

String dump of section '.comment':
  [     0]  GCC: (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
  [    2d]  Linker: LLD 16.0.5

Looks like yes?

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (4cb98396e9dc17fbe9b0da2b1bd35d9b05fff30c): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

@bors rollup=never
@rustbot label: -S-waiting-on-perf -perf-regression

Warning ⚠: The following benchmark(s) failed to build:

  • rustc

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)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-34.1% [-74.8%, -0.6%] 31
Improvements ✅
(secondary)
-32.7% [-74.0%, -3.7%] 74
All ❌✅ (primary) -34.1% [-74.8%, -0.6%] 31

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)
27.8% [21.9%, 33.7%] 2
Regressions ❌
(secondary)
2.3% [2.3%, 2.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 27.8% [21.9%, 33.7%] 2

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)
- - 0
Improvements ✅
(primary)
-32.3% [-65.9%, -1.4%] 28
Improvements ✅
(secondary)
-28.4% [-64.8%, -3.3%] 73
All ❌✅ (primary) -32.3% [-65.9%, -1.4%] 28

Binary size

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)
1.6% [0.6%, 2.4%] 20
Regressions ❌
(secondary)
0.5% [0.4%, 1.1%] 61
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.3% [-0.4%, -0.1%] 2
All ❌✅ (primary) 1.6% [0.6%, 2.4%] 20

Bootstrap: missing data

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 5, 2023
@lqd
Copy link
Member Author

lqd commented Jul 18, 2023

The data gathering is done so I'll close this for now, but may reopen to rerun crater on these new try artifacts.

@lqd lqd closed this Jul 18, 2023
@lqd lqd reopened this Sep 12, 2023
@rustbot rustbot added the T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) label Sep 12, 2023
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment was marked as resolved.

@rust-log-analyzer

This comment was marked as outdated.

@rust-log-analyzer

This comment was marked as resolved.

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Dec 3, 2024
@bors
Copy link
Contributor

bors commented Dec 3, 2024

☀️ Try build successful - checks-actions
Build commit: d3bb357 (d3bb35737202290c12a82051e63c86c8937835e4)

@lqd
Copy link
Member Author

lqd commented Dec 3, 2024

@rust-timer build d3bb357

@rust-timer

This comment has been minimized.

@lqd
Copy link
Member Author

lqd commented Dec 3, 2024

jemalloc Sept 2024 production revision @bors try

@bors
Copy link
Contributor

bors commented Dec 3, 2024

⌛ Trying commit 2a6cf8e with merge d1126e1...

bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 3, 2024
@bors
Copy link
Contributor

bors commented Dec 3, 2024

☀️ Try build successful - checks-actions
Build commit: d1126e1 (d1126e1b973af77f6856cb2a27ff2a6816405d57)

@lqd
Copy link
Member Author

lqd commented Dec 3, 2024

@rust-timer build d1126e1

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d3bb357): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

@bors rollup=never
@rustbot label: -S-waiting-on-perf -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.2% [-0.3%, -0.1%] 73
Improvements ✅
(secondary)
-0.2% [-0.3%, -0.1%] 53
All ❌✅ (primary) -0.2% [-0.3%, -0.1%] 73

Max RSS (memory usage)

Results (secondary -2.2%)

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)
1.3% [1.3%, 1.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.9% [-4.3%, -3.6%] 2
All ❌✅ (primary) - - 0

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: 767.254s -> 766.376s (-0.11%)
Artifact size: 331.98 MiB -> 330.94 MiB (-0.31%)

@lqd
Copy link
Member Author

lqd commented Dec 3, 2024

@rust-timer build d1126e1

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d1126e1): comparison URL.

Overall result: ❌ regressions - please read the text below

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +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.3% [0.1%, 0.7%] 131
Regressions ❌
(secondary)
0.4% [0.1%, 1.0%] 96
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.1%, 0.7%] 131

Max RSS (memory usage)

Results (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)
- - 0
Regressions ❌
(secondary)
2.7% [1.5%, 4.0%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.5% [-5.1%, -1.8%] 2
All ❌✅ (primary) - - 0

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: 766.323s -> 766.801s (0.06%)
Artifact size: 332.01 MiB -> 331.10 MiB (-0.27%)

@rustbot rustbot added the perf-regression Performance regression. label Dec 3, 2024
@lqd
Copy link
Member Author

lqd commented Dec 3, 2024

interesting

@lqd lqd closed this Dec 3, 2024
@lqd lqd reopened this Jan 11, 2025
@rustbot rustbot added the A-tidy Area: The tidy tool label Jan 11, 2025
@lqd
Copy link
Member Author

lqd commented Jan 11, 2025

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jan 11, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 11, 2025
@bors
Copy link
Contributor

bors commented Jan 11, 2025

⌛ Trying commit 26d0fbb with merge fe41b66...

@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-linux failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang-ci/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
---
[RUSTC-TIMING] unicode_security test:false 0.743
   Compiling regex-automata v0.1.10
[RUSTC-TIMING] nu_ansi_term test:false 0.512
[RUSTC-TIMING] wasmparser test:false 4.705
   Compiling libmimalloc-sys v0.1.39 (https://github.com/lqd/mimalloc_rust.git?branch=mimalloc-3.0.1-alpha#d45656d2)
[RUSTC-TIMING] indexmap test:false 0.854
   Compiling rustc_serialize v0.0.0 (/checkout/compiler/rustc_serialize)
[RUSTC-TIMING] num_conv test:false 0.106
   Compiling gimli v0.30.0
---
 finished in 11.492 seconds
##[endgroup]
[TIMING] core::build_steps::llvm::Sanitizers { target: x86_64-unknown-linux-gnu } -- 11.492
##[group]Building stage1 library artifacts (x86_64-unknown-linux-gnu)
error: process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc /checkout/obj/build/bootstrap/debug/rustc -vV` (exit status: 254)
error: rustc interrupted by SIGSEGV, printing backtrace


/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-4f34fac6764d4f71.so(+0x1195156)[0x7fcf24f95156]
/lib64/libpthread.so.0(+0xf630)[0x7fcf239eb630]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc(__libc_calloc+0x3e)[0x556f0cb9575e]
/lib64/ld-linux-x86-64.so.2(_dl_allocate_tls+0x25)[0x7fcf282fa785]
/lib64/libpthread.so.0(pthread_create+0x75c)[0x7fcf239e487c]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-4f34fac6764d4f71.so(_ZN3std3sys3pal4unix6thread6Thread3new17hf57868a437048c90E+0x122)[0x7fcf27a6a2b2]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-4f34fac6764d4f71.so(_RNvCs9cmpy9VMkUy_17rustc_driver_impl21install_ctrlc_handler+0x615)[0x7fcf24fa4d45]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-4f34fac6764d4f71.so(_RNvCs9cmpy9VMkUy_17rustc_driver_impl4main+0x1a6)[0x7fcf24fa52f6]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc(+0x7697)[0x556f0cb95697]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc(+0x7673)[0x556f0cb95673]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc(+0x7689)[0x556f0cb95689]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/lib/librustc_driver-4f34fac6764d4f71.so(_ZN3std2rt19lang_start_internal17hfbad4f7246bbed7fE+0x4e7)[0x7fcf27a417e7]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc(+0x76c8)[0x556f0cb956c8]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7fcf23630555]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage1/bin/rustc(+0x75a9)[0x556f0cb955a9]
note: we would appreciate a report at https://github.com/rust-lang/rust
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
rustc exited with signal: 11 (SIGSEGV) (core dumped)
Build completed unsuccessfully in 0:06:47
[2025-01-11T09:41:59.127Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO) > Build PGO instrumented rustc and LLVM` ended: FAIL (407.55s)`
[2025-01-11T09:41:59.127Z INFO  opt_dist::timer] Section `Stage 1 (Rustc PGO)` ended: FAIL (407.55s)`
[2025-01-11T09:41:59.127Z INFO  opt_dist] Timer results
---
Caused by:
    Command RUST_BACKTRACE=full python3 /checkout/x.py build --target x86_64-unknown-linux-gnu --host x86_64-unknown-linux-gnu --stage 2 library/std --rust-profile-generate /tmp/tmp-multistage/opt-artifacts/rustc-pgo --set llvm.thin-lto=false --set llvm.link-shared=true [at /checkout/obj] has failed with exit code Some(1)

Stack backtrace:
   0: <anyhow::Error>::msg::<alloc::string::String>
             at /rust/deps/anyhow-1.0.95/src/backtrace.rs:27:14
   1: <opt_dist::exec::CmdBuilder>::run
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/exec.rs:80:17
   2: <opt_dist::exec::Bootstrap>::run
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/exec.rs:181:9
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/main.rs:225:13
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/main.rs:225:13
   4: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}::{closure#0}, ()>
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/timer.rs:111:22
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/main.rs:214:9
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/main.rs:214:9
   6: <opt_dist::timer::TimerSection>::section::<opt_dist::execute_pipeline::{closure#1}, opt_dist::training::RustcPGOProfile>
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/timer.rs:111:22
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/main.rs:211:29
   8: opt_dist::main
             at /rustc/fe41b66396c4839e10989960552e6671148cde33/src/tools/opt-dist/src/main.rs:401:18
   9: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
   9: <fn() -> core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/e30eefff41038ceea427009023627d6d66b36715/library/core/src/ops/function.rs:250:5
  10: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
             at /rustc/e30eefff41038ceea427009023627d6d66b36715/library/std/src/sys/backtrace.rs:152:18
  11: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
             at /rustc/e30eefff41038ceea427009023627d6d66b36715/library/std/src/rt.rs:195:18
  12: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/e30eefff41038ceea427009023627d6d66b36715/library/core/src/ops/function.rs:284:13
             at /rustc/e30eefff41038ceea427009023627d6d66b36715/library/std/src/panicking.rs:584:40
  14: std::panicking::try
             at /rustc/e30eefff41038ceea427009023627d6d66b36715/library/std/src/panicking.rs:547:19
  15: std::panic::catch_unwind

@bors
Copy link
Contributor

bors commented Jan 11, 2025

💔 Test failed - checks-actions

@lqd
Copy link
Member Author

lqd commented Jan 11, 2025

Interesting. This bootstraps correctly locally and passes tests (and on PR CI it seems), so the segfault seems related to mimalloc+PGO instrumentation. While it can be reproduced with ./src/ci/github-actions/ci.py run-local dist-x86_64-linux I have better things to do with my free time than debug a mimalloc segfault 😂 .

@lqd lqd closed this Jan 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. S-waiting-on-perf Status: Waiting on a perf run to be completed. 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-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants