Don't use pinned memory when unnecessary (#17832)

Reports of excessive GPU memory usage and errors
from cudaHostRegister. There are some cases where pinning is
not required.
This commit is contained in:
sakridge
2021-06-14 16:10:04 +02:00
committed by GitHub
parent d4cc975fe9
commit eeee75c5be
10 changed files with 47 additions and 7 deletions

View File

@ -113,6 +113,7 @@ impl FetchStage {
recycler.clone(),
"fetch_stage",
coalesce_ms,
true,
)
});
@ -125,6 +126,7 @@ impl FetchStage {
recycler.clone(),
"fetch_forward_stage",
coalesce_ms,
true,
)
});

View File

@ -515,7 +515,7 @@ impl ServeRepair {
if let Some(packet) = packet {
inc_new_counter_debug!("serve_repair-window-request-ledger", 1);
return Some(Packets::new_with_recycler_data(
return Some(Packets::new_unpinned_with_recycler_data(
recycler,
"run_window_request",
vec![packet],
@ -555,7 +555,7 @@ impl ServeRepair {
from_addr,
nonce,
)?;
return Some(Packets::new_with_recycler_data(
return Some(Packets::new_unpinned_with_recycler_data(
recycler,
"run_highest_window_request",
vec![packet],
@ -572,7 +572,7 @@ impl ServeRepair {
max_responses: usize,
nonce: Nonce,
) -> Option<Packets> {
let mut res = Packets::new_with_recycler(recycler.clone(), 64, "run_orphan");
let mut res = Packets::new_unpinned_with_recycler(recycler.clone(), 64, "run_orphan");
if let Some(blockstore) = blockstore {
// Try to find the next "n" parent slots of the input slot
while let Ok(Some(meta)) = blockstore.meta(slot) {

View File

@ -33,6 +33,7 @@ impl ServeRepairService {
Recycler::default(),
"serve_repair_receiver",
1,
false,
);
let (response_sender, response_receiver) = channel();
let t_responder =

View File

@ -150,6 +150,7 @@ impl ShredFetchStage {
recycler.clone(),
"packet_modifier",
1,
true,
)
})
.collect();