rustc_codegen_ssa: Correctly apply the static --jobs-backend limit to backend parallelism - #160387
Merged
Merged
Conversation
This comment has been minimized.
This comment has been minimized.
Contributor
Author
|
This PR will become simpler if #160424 is merged first. |
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Aug 3, 2026
Use `thread::available_parallelism` as the default limit for backend parallelism Instead of the old scheme with 32-or-unlimited, depending on inherited-ness of the jobserver. Not sure if this needs some wider discussion or not. In the most common case (rustc is called from cargo) nothing changes, because cargo already limits the parallelism to `thread::available_parallelism` by default, and passes this limit to rustc through jobserver. rust-lang#160387 will become simpler if this PR is merged first. r? @bjorn3 @Zoxc
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Aug 3, 2026
Use `thread::available_parallelism` as the default limit for backend parallelism Instead of the old scheme with 32-or-unlimited, depending on inherited-ness of the jobserver. Not sure if this needs some wider discussion or not. In the most common case (rustc is called from cargo) nothing changes, because cargo already limits the parallelism to `thread::available_parallelism` by default, and passes this limit to rustc through jobserver. rust-lang#160387 will become simpler if this PR is merged first. r? @bjorn3 @Zoxc
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Aug 3, 2026
Use `thread::available_parallelism` as the default limit for backend parallelism Instead of the old scheme with 32-or-unlimited, depending on inherited-ness of the jobserver. Not sure if this needs some wider discussion or not. In the most common case (rustc is called from cargo) nothing changes, because cargo already limits the parallelism to `thread::available_parallelism` by default, and passes this limit to rustc through jobserver. rust-lang#160387 will become simpler if this PR is merged first. r? @bjorn3 @Zoxc
jhpratt
added a commit
to jhpratt/rust
that referenced
this pull request
Aug 4, 2026
Use `thread::available_parallelism` as the default limit for backend parallelism Instead of the old scheme with 32-or-unlimited, depending on inherited-ness of the jobserver. Not sure if this needs some wider discussion or not. In the most common case (rustc is called from cargo) nothing changes, because cargo already limits the parallelism to `thread::available_parallelism` by default, and passes this limit to rustc through jobserver. rust-lang#160387 will become simpler if this PR is merged first. r? @bjorn3 @Zoxc
jhpratt
added a commit
to jhpratt/rust
that referenced
this pull request
Aug 4, 2026
Use `thread::available_parallelism` as the default limit for backend parallelism Instead of the old scheme with 32-or-unlimited, depending on inherited-ness of the jobserver. Not sure if this needs some wider discussion or not. In the most common case (rustc is called from cargo) nothing changes, because cargo already limits the parallelism to `thread::available_parallelism` by default, and passes this limit to rustc through jobserver. rust-lang#160387 will become simpler if this PR is merged first. r? @bjorn3 @Zoxc
Kobzol
added a commit
to Kobzol/rust
that referenced
this pull request
Aug 4, 2026
Use `thread::available_parallelism` as the default limit for backend parallelism Instead of the old scheme with 32-or-unlimited, depending on inherited-ness of the jobserver. Not sure if this needs some wider discussion or not. In the most common case (rustc is called from cargo) nothing changes, because cargo already limits the parallelism to `thread::available_parallelism` by default, and passes this limit to rustc through jobserver. rust-lang#160387 will become simpler if this PR is merged first. r? @bjorn3 @Zoxc
rust-timer
added a commit
that referenced
this pull request
Aug 4, 2026
Rollup merge of #160424 - petrochenkov:jobdflt, r=bjorn3 Use `thread::available_parallelism` as the default limit for backend parallelism Instead of the old scheme with 32-or-unlimited, depending on inherited-ness of the jobserver. Not sure if this needs some wider discussion or not. In the most common case (rustc is called from cargo) nothing changes, because cargo already limits the parallelism to `thread::available_parallelism` by default, and passes this limit to rustc through jobserver. #160387 will become simpler if this PR is merged first. r? @bjorn3 @Zoxc
Collaborator
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
Contributor
Author
|
Rebased, updated, and added one more fix. |
Member
|
@bors r+ |
Contributor
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Aug 5, 2026
rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism Follow up to rust-lang#159675. r? @bjorn3
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 5, 2026
…uwer Rollup of 22 pull requests Successful merges: - #158147 (std: fix stack buffer overflow in Windows junction_point) - #159784 (Hint that memchr returns an in-bounds index) - #160130 (Select cache values to verify by key fingerprint, not value fingerprint) - #160343 (Rename `OutlivesPredicate` to `OutlivesClause`) - #160360 (Remove rustc_middle dependency on rustc_hir_pretty) - #160387 (rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism) - #160422 (move mir-opt miri tests to CI logic) - #160444 (Avoid resolving path keywords outside `TypeNS`) - #160510 (Resolver: (un)tracked borrows for `CmRefCell` made safe my unsafe speculative flag) - #155424 ([blocked] Link to proposed LLM policy in CONTRIBUTING and pull request template) - #158726 (std: move futex implementations into sys::sync::futex) - #159225 (Split IncrCompSession out of Session) - #159820 (Make the `rustc_unsafe_specialization_marker` attribute actually `unsafe`) - #160198 (Rework `smallest_range_containing` to handle duplicates) - #160362 (Split `SpannedTypeVisitor` into its own crate, `rustc_ty_walk`) - #160390 (autodiff: Handle slice-tailed DSTs in type trees) - #160420 (Suggest `cast_signed()` for overflowing signed integer literals) - #160520 (Add some tests for specialization) - #160522 (fix(bootstrap): Normalize the names of proc macro dependency crates) - #160531 (docs: fix typo in AllowExprMetavar comment) - #160538 (Update expect messages in tcp.rs doc examples to follow the style guide) - #160548 (bootstrap: Register `coverage-map` and `coverage-run` aliases via a separate step)
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Aug 5, 2026
rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism Follow up to rust-lang#159675. r? @bjorn3
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 5, 2026
…uwer Rollup of 25 pull requests Successful merges: - #154585 (treat no_mangle_generic_items as hard error instead of lint warning) - #158147 (std: fix stack buffer overflow in Windows junction_point) - #160130 (Select cache values to verify by key fingerprint, not value fingerprint) - #160343 (Rename `OutlivesPredicate` to `OutlivesClause`) - #160360 (Remove rustc_middle dependency on rustc_hir_pretty) - #160387 (rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism) - #160422 (move mir-opt miri tests to CI logic) - #160444 (Avoid resolving path keywords outside `TypeNS`) - #160510 (Resolver: (un)tracked borrows for `CmRefCell` made safe my unsafe speculative flag) - #155424 ([blocked] Link to proposed LLM policy in CONTRIBUTING and pull request template) - #158726 (std: move futex implementations into sys::sync::futex) - #158762 (Emit thumb code on VEX V5) - #159225 (Split IncrCompSession out of Session) - #159820 (Make the `rustc_unsafe_specialization_marker` attribute actually `unsafe`) - #160198 (Rework `smallest_range_containing` to handle duplicates) - #160362 (Split `SpannedTypeVisitor` into its own crate, `rustc_ty_walk`) - #160390 (autodiff: Handle slice-tailed DSTs in type trees) - #160420 (Suggest `cast_signed()` for overflowing signed integer literals) - #160516 (Add regression test for HRTB projection in closure) - #160520 (Add some tests for specialization) - #160522 (fix(bootstrap): Normalize the names of proc macro dependency crates) - #160523 (Add regression test for opaque type) - #160531 (docs: fix typo in AllowExprMetavar comment) - #160538 (Update expect messages in tcp.rs doc examples to follow the style guide) - #160548 (bootstrap: Register `coverage-map` and `coverage-run` aliases via a separate step)
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 5, 2026
…uwer Rollup of 25 pull requests Successful merges: - #158147 (std: fix stack buffer overflow in Windows junction_point) - #160130 (Select cache values to verify by key fingerprint, not value fingerprint) - #160343 (Rename `OutlivesPredicate` to `OutlivesClause`) - #160360 (Remove rustc_middle dependency on rustc_hir_pretty) - #160387 (rustc_codegen_ssa: Correctly apply the static `--jobs-backend` limit to backend parallelism) - #160422 (move mir-opt miri tests to CI logic) - #160444 (Avoid resolving path keywords outside `TypeNS`) - #160510 (Resolver: (un)tracked borrows for `CmRefCell` made safe by unsafe speculative flag) - #155424 ([blocked] Link to proposed LLM policy in CONTRIBUTING and pull request template) - #158726 (std: move futex implementations into sys::sync::futex) - #158762 (Emit thumb code on VEX V5) - #159225 (Split IncrCompSession out of Session) - #159820 (Make the `rustc_unsafe_specialization_marker` attribute actually `unsafe`) - #160198 (Rework `smallest_range_containing` to handle duplicates) - #160362 (Split `SpannedTypeVisitor` into its own crate, `rustc_ty_walk`) - #160390 (autodiff: Handle slice-tailed DSTs in type trees) - #160420 (Suggest `cast_signed()` for overflowing signed integer literals) - #160501 (Add bootstrap CLI snapshot test for testing miri) - #160516 (Add regression test for HRTB projection in closure) - #160520 (Add some tests for specialization) - #160522 (fix(bootstrap): Normalize the names of proc macro dependency crates) - #160523 (Add regression test for opaque type) - #160531 (docs: fix typo in AllowExprMetavar comment) - #160538 (Update expect messages in tcp.rs doc examples to follow the style guide) - #160548 (bootstrap: Register `coverage-map` and `coverage-run` aliases via a separate step)
rust-timer
added a commit
that referenced
this pull request
Aug 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow up to #159675.
r? @bjorn3