Skip to content

Commit

Permalink
Merge pull request #2780 from kinnison/graceful-lowmem
Browse files Browse the repository at this point in the history
unpack_ram: More graceful handling of low unpack ram
  • Loading branch information
rbtcollins authored May 29, 2021
2 parents 7c9e51a + b1e515c commit c8be2a3
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions src/dist/component/package.rs
Original file line number Diff line number Diff line change
Expand Up @@ -182,9 +182,23 @@ fn unpack_ram(
.ok()
.and_then(|budget_str| budget_str.parse::<usize>().ok())
{
// Note: In future we may want to add a warning or even an override if a user
// supplied budget is larger than effective_max_ram.
Some(budget) => budget,
Some(budget) => {
if budget < minimum_ram {
warn!(
"Ignoring RUSTUP_UNPACK_RAM ({}) less than minimum of {}.",
budget, minimum_ram
);
minimum_ram
} else if budget > default_max_unpack_ram {
warn!(
"Ignoring RUSTUP_UNPACK_RAM ({}) greater than detected available RAM of {}.",
budget, default_max_unpack_ram
);
default_max_unpack_ram
} else {
budget
}
}
None => {
if let Some(h) = notify_handler {
h(Notification::SetDefaultBufferSize(default_max_unpack_ram))
Expand All @@ -193,10 +207,11 @@ fn unpack_ram(
}
};

if io_chunk_size > unpack_ram {
panic!("RUSTUP_UNPACK_RAM must be larger than {}", io_chunk_size);
if minimum_ram > unpack_ram {
panic!("RUSTUP_UNPACK_RAM must be larger than {}", minimum_ram);
} else {
unpack_ram
}
unpack_ram
}

/// Handle the async result of io operations
Expand Down

0 comments on commit c8be2a3

Please sign in to comment.