Revert "Add limit and shrink policy for recycler (#15320)"
This reverts commit c2e8814dce
.
This commit is contained in:
@ -16,7 +16,7 @@ const NUM_PACKETS: usize = 256;
|
||||
const NUM_BATCHES: usize = 1;
|
||||
#[bench]
|
||||
fn bench_sigverify_shreds_sign_gpu(bencher: &mut Bencher) {
|
||||
let recycler_cache = RecyclerCache::new("", "");
|
||||
let recycler_cache = RecyclerCache::default();
|
||||
|
||||
let mut packets = Packets::default();
|
||||
packets.packets.set_pinnable();
|
||||
|
@ -258,21 +258,12 @@ pub struct EntryVerificationState {
|
||||
device_verification_data: DeviceVerificationData,
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
#[derive(Default, Clone)]
|
||||
pub struct VerifyRecyclers {
|
||||
hash_recycler: Recycler<PinnedVec<Hash>>,
|
||||
tick_count_recycler: Recycler<PinnedVec<u64>>,
|
||||
}
|
||||
|
||||
impl Default for VerifyRecyclers {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
hash_recycler: Recycler::new_without_limit("hash_recycler_shrink_stats"),
|
||||
tick_count_recycler: Recycler::new_without_limit("tick_count_recycler_shrink_stats"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Clone, Copy, Debug)]
|
||||
pub enum EntryVerificationStatus {
|
||||
Failure,
|
||||
@ -590,12 +581,14 @@ impl EntrySlice for [Entry] {
|
||||
.take(self.len())
|
||||
.collect();
|
||||
|
||||
let mut hashes_pinned = recyclers.hash_recycler.allocate().unwrap();
|
||||
let mut hashes_pinned = recyclers.hash_recycler.allocate("poh_verify_hash");
|
||||
hashes_pinned.set_pinnable();
|
||||
hashes_pinned.resize(hashes.len(), Hash::default());
|
||||
hashes_pinned.copy_from_slice(&hashes);
|
||||
|
||||
let mut num_hashes_vec = recyclers.tick_count_recycler.allocate().unwrap();
|
||||
let mut num_hashes_vec = recyclers
|
||||
.tick_count_recycler
|
||||
.allocate("poh_verify_num_hashes");
|
||||
num_hashes_vec.reserve_and_pin(cmp::max(1, self.len()));
|
||||
for entry in self {
|
||||
num_hashes_vec.push(entry.num_hashes.saturating_sub(1));
|
||||
|
@ -137,7 +137,7 @@ fn slot_key_data_for_gpu<
|
||||
.push(*slot);
|
||||
}
|
||||
}
|
||||
let mut keyvec = recycler_cache.buffer().allocate().unwrap();
|
||||
let mut keyvec = recycler_cache.buffer().allocate("shred_gpu_pubkeys");
|
||||
keyvec.set_pinnable();
|
||||
let mut slot_to_key_ix = HashMap::new();
|
||||
|
||||
@ -152,7 +152,7 @@ fn slot_key_data_for_gpu<
|
||||
slot_to_key_ix.insert(s, i);
|
||||
}
|
||||
}
|
||||
let mut offsets = recycler_cache.offsets().allocate().unwrap();
|
||||
let mut offsets = recycler_cache.offsets().allocate("shred_offsets");
|
||||
offsets.set_pinnable();
|
||||
slots.iter().for_each(|packet_slots| {
|
||||
packet_slots.iter().for_each(|slot| {
|
||||
@ -185,11 +185,11 @@ fn shred_gpu_offsets(
|
||||
batches: &[Packets],
|
||||
recycler_cache: &RecyclerCache,
|
||||
) -> (TxOffset, TxOffset, TxOffset, Vec<Vec<u32>>) {
|
||||
let mut signature_offsets = recycler_cache.offsets().allocate().unwrap();
|
||||
let mut signature_offsets = recycler_cache.offsets().allocate("shred_signatures");
|
||||
signature_offsets.set_pinnable();
|
||||
let mut msg_start_offsets = recycler_cache.offsets().allocate().unwrap();
|
||||
let mut msg_start_offsets = recycler_cache.offsets().allocate("shred_msg_starts");
|
||||
msg_start_offsets.set_pinnable();
|
||||
let mut msg_sizes = recycler_cache.offsets().allocate().unwrap();
|
||||
let mut msg_sizes = recycler_cache.offsets().allocate("shred_msg_sizes");
|
||||
msg_sizes.set_pinnable();
|
||||
let mut v_sig_lens = vec![];
|
||||
for batch in batches.iter() {
|
||||
@ -242,7 +242,7 @@ pub fn verify_shreds_gpu(
|
||||
trace!("pubkeys_len: {}", pubkeys_len);
|
||||
let (signature_offsets, msg_start_offsets, msg_sizes, v_sig_lens) =
|
||||
shred_gpu_offsets(pubkeys_len, batches, recycler_cache);
|
||||
let mut out = recycler_cache.buffer().allocate().unwrap();
|
||||
let mut out = recycler_cache.buffer().allocate("out_buffer");
|
||||
out.set_pinnable();
|
||||
elems.push(
|
||||
perf_libs::Elems {
|
||||
@ -332,7 +332,7 @@ pub fn sign_shreds_cpu(keypair: &Keypair, batches: &mut [Packets]) {
|
||||
}
|
||||
|
||||
pub fn sign_shreds_gpu_pinned_keypair(keypair: &Keypair, cache: &RecyclerCache) -> PinnedVec<u8> {
|
||||
let mut vec = cache.buffer().allocate().unwrap();
|
||||
let mut vec = cache.buffer().allocate("pinned_keypair");
|
||||
let pubkey = keypair.pubkey().to_bytes();
|
||||
let secret = keypair.secret().to_bytes();
|
||||
let mut hasher = Sha512::default();
|
||||
@ -370,17 +370,17 @@ pub fn sign_shreds_gpu(
|
||||
let mut num_packets = num_keypair_packets;
|
||||
|
||||
//should be zero
|
||||
let mut pubkey_offsets = recycler_cache.offsets().allocate().unwrap();
|
||||
let mut pubkey_offsets = recycler_cache.offsets().allocate("pubkey offsets");
|
||||
pubkey_offsets.resize(count, 0);
|
||||
|
||||
let mut secret_offsets = recycler_cache.offsets().allocate().unwrap();
|
||||
let mut secret_offsets = recycler_cache.offsets().allocate("secret_offsets");
|
||||
secret_offsets.resize(count, pubkey_size as u32);
|
||||
|
||||
trace!("offset: {}", offset);
|
||||
let (signature_offsets, msg_start_offsets, msg_sizes, _v_sig_lens) =
|
||||
shred_gpu_offsets(offset, batches, recycler_cache);
|
||||
let total_sigs = signature_offsets.len();
|
||||
let mut signatures_out = recycler_cache.buffer().allocate().unwrap();
|
||||
let mut signatures_out = recycler_cache.buffer().allocate("ed25519 signatures");
|
||||
signatures_out.set_pinnable();
|
||||
signatures_out.resize(total_sigs * sig_size, 0);
|
||||
elems.push(
|
||||
@ -560,7 +560,7 @@ pub mod tests {
|
||||
|
||||
fn run_test_sigverify_shreds_gpu(slot: Slot) {
|
||||
solana_logger::setup();
|
||||
let recycler_cache = RecyclerCache::new("", "");
|
||||
let recycler_cache = RecyclerCache::default();
|
||||
|
||||
let mut batch = [Packets::default()];
|
||||
let mut shred = Shred::new_from_data(
|
||||
@ -624,7 +624,7 @@ pub mod tests {
|
||||
|
||||
fn run_test_sigverify_shreds_sign_gpu(slot: Slot) {
|
||||
solana_logger::setup();
|
||||
let recycler_cache = RecyclerCache::new("", "");
|
||||
let recycler_cache = RecyclerCache::default();
|
||||
|
||||
let mut packets = Packets::default();
|
||||
let num_packets = 32;
|
||||
|
Reference in New Issue
Block a user