diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2023-07-21 08:37:04 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2023-07-31 16:21:02 +1000 |
| commit | e78fb95dfa40ee9fdf1997009e572fb7ce737080 (patch) | |
| tree | ef27254b5a34201538218777d2e06399d862a4a4 | |
| parent | 176610c2cd8869fb889d2572b79bc1ee323f6b61 (diff) | |
| download | rust-e78fb95dfa40ee9fdf1997009e572fb7ce737080.tar.gz rust-e78fb95dfa40ee9fdf1997009e572fb7ce737080.zip | |
Give the coordinator thread a name.
This is useful when profiling with a profiler like Samply.
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/back/write.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/write.rs b/compiler/rustc_codegen_ssa/src/back/write.rs index fcaae23d0b4..246be71f26c 100644 --- a/compiler/rustc_codegen_ssa/src/back/write.rs +++ b/compiler/rustc_codegen_ssa/src/back/write.rs @@ -1257,7 +1257,7 @@ fn start_executing_work<B: ExtraBackendMethods>( // Each LLVM module is automatically sent back to the coordinator for LTO if // necessary. There's already optimizations in place to avoid sending work // back to the coordinator if LTO isn't requested. - return B::spawn_thread(cgcx.time_trace, move || { + return B::spawn_named_thread(cgcx.time_trace, "coordinator".to_string(), move || { let mut worker_id_counter = 0; let mut free_worker_ids = Vec::new(); let mut get_worker_id = |free_worker_ids: &mut Vec<usize>| { @@ -1625,7 +1625,8 @@ fn start_executing_work<B: ExtraBackendMethods>( modules: compiled_modules, allocator_module: compiled_allocator_module, }) - }); + }) + .expect("failed to spawn coordinator thread"); // A heuristic that determines if we have enough LLVM WorkItems in the // queue so that the main thread can do LLVM work instead of codegen @@ -1758,7 +1759,7 @@ fn spawn_work<B: ExtraBackendMethods>(cgcx: CodegenContext<B>, work: WorkItem<B> }) }; }) - .expect("failed to spawn thread"); + .expect("failed to spawn work thread"); } enum SharedEmitterMessage { |
