Revert "Remove num_cpus dependency from bootstrap, build-manifest and rustc_session"

This reverts commit 2d854f9c34.
This commit is contained in:
David Tolnay 2022-06-09 03:10:15 -07:00
parent fde0f1195f
commit 1ae4b25826
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82
9 changed files with 11 additions and 7 deletions

View File

@ -219,6 +219,7 @@ dependencies = [
"hex 0.4.2", "hex 0.4.2",
"ignore", "ignore",
"libc", "libc",
"num_cpus",
"once_cell", "once_cell",
"opener", "opener",
"pretty_assertions 0.7.2", "pretty_assertions 0.7.2",
@ -250,6 +251,7 @@ dependencies = [
"anyhow", "anyhow",
"flate2", "flate2",
"hex 0.4.2", "hex 0.4.2",
"num_cpus",
"rayon", "rayon",
"serde", "serde",
"serde_json", "serde_json",
@ -4419,6 +4421,7 @@ name = "rustc_session"
version = "0.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"getopts", "getopts",
"num_cpus",
"rustc_ast", "rustc_ast",
"rustc_data_structures", "rustc_data_structures",
"rustc_errors", "rustc_errors",

View File

@ -15,5 +15,6 @@ rustc_serialize = { path = "../rustc_serialize" }
rustc_data_structures = { path = "../rustc_data_structures" } rustc_data_structures = { path = "../rustc_data_structures" }
rustc_span = { path = "../rustc_span" } rustc_span = { path = "../rustc_span" }
rustc_fs_util = { path = "../rustc_fs_util" } rustc_fs_util = { path = "../rustc_fs_util" }
num_cpus = "1.0"
rustc_ast = { path = "../rustc_ast" } rustc_ast = { path = "../rustc_ast" }
rustc_lint_defs = { path = "../rustc_lint_defs" } rustc_lint_defs = { path = "../rustc_lint_defs" }

View File

@ -578,7 +578,7 @@ mod parse {
pub(crate) fn parse_threads(slot: &mut usize, v: Option<&str>) -> bool { pub(crate) fn parse_threads(slot: &mut usize, v: Option<&str>) -> bool {
match v.and_then(|s| s.parse().ok()) { match v.and_then(|s| s.parse().ok()) {
Some(0) => { Some(0) => {
*slot = std::thread::available_parallelism().map_or(1, std::num::NonZeroUsize::get); *slot = ::num_cpus::get();
true true
} }
Some(i) => { Some(i) => {

View File

@ -37,6 +37,7 @@ test = false
[dependencies] [dependencies]
cmake = "0.1.38" cmake = "0.1.38"
filetime = "0.2" filetime = "0.2"
num_cpus = "1.0"
getopts = "0.2.19" getopts = "0.2.19"
cc = "1.0.69" cc = "1.0.69"
libc = "0.2" libc = "0.2"

View File

@ -1418,7 +1418,7 @@ fn set<T>(field: &mut T, val: Option<T>) {
fn threads_from_config(v: u32) -> u32 { fn threads_from_config(v: u32) -> u32 {
match v { match v {
0 => std::thread::available_parallelism().map_or(1, std::num::NonZeroUsize::get) as u32, 0 => num_cpus::get() as u32,
n => n, n => n,
} }
} }

View File

@ -210,7 +210,7 @@ To learn more about a subcommand, run `./x.py <subcommand> -h`",
let j_msg = format!( let j_msg = format!(
"number of jobs to run in parallel; \ "number of jobs to run in parallel; \
defaults to {} (this host's logical CPU count)", defaults to {} (this host's logical CPU count)",
std::thread::available_parallelism().map_or(1, std::num::NonZeroUsize::get) num_cpus::get()
); );
opts.optopt("j", "jobs", &j_msg, "JOBS"); opts.optopt("j", "jobs", &j_msg, "JOBS");
opts.optflag("h", "help", "print this help message"); opts.optflag("h", "help", "print this help message");

View File

@ -1032,9 +1032,7 @@ impl Build {
/// Returns the number of parallel jobs that have been configured for this /// Returns the number of parallel jobs that have been configured for this
/// build. /// build.
fn jobs(&self) -> u32 { fn jobs(&self) -> u32 {
self.config.jobs.unwrap_or_else(|| { self.config.jobs.unwrap_or_else(|| num_cpus::get() as u32)
std::thread::available_parallelism().map_or(1, std::num::NonZeroUsize::get) as u32
})
} }
fn debuginfo_map_to(&self, which: GitRepo) -> Option<String> { fn debuginfo_map_to(&self, which: GitRepo) -> Option<String> {

View File

@ -13,3 +13,4 @@ tar = "0.4.29"
sha2 = "0.10.1" sha2 = "0.10.1"
rayon = "1.5.1" rayon = "1.5.1"
hex = "0.4.2" hex = "0.4.2"
num_cpus = "1.13.0"

View File

@ -210,7 +210,7 @@ fn main() {
let num_threads = if let Some(num) = env::var_os("BUILD_MANIFEST_NUM_THREADS") { let num_threads = if let Some(num) = env::var_os("BUILD_MANIFEST_NUM_THREADS") {
num.to_str().unwrap().parse().expect("invalid number for BUILD_MANIFEST_NUM_THREADS") num.to_str().unwrap().parse().expect("invalid number for BUILD_MANIFEST_NUM_THREADS")
} else { } else {
std::thread::available_parallelism().map_or(1, std::num::NonZeroUsize::get) num_cpus::get()
}; };
rayon::ThreadPoolBuilder::new() rayon::ThreadPoolBuilder::new()
.num_threads(num_threads) .num_threads(num_threads)