Skip to content

More granular locking in cargo_rustc #4282

@alexcrichton

Description

@alexcrichton

Summary

Implementation:

Known issues

  • Only non-artifact-producing commands (like check) can run in parallel

Unresolved Issues

Future Extensions

About tracking issues

Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.


Original issue:

Right now whenever a build happens we lock the entirety of the target directory for the whole build, but it may be possible for us to have a more granular locking strategy which allows multiple instances of Cargo to proceed in parallel instead of serializing them.

Metadata

Metadata

Assignees

Labels

A-build-executionArea: anything dealing with executing the compilerA-layoutArea: target output directory layout, naming, and organizationC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`C-tracking-issueCategory: A tracking issue for something unstable.PerformanceGotta go fast!S-needs-mentorStatus: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions