From 03ed334ebbf31f343d5be595b922ae97dc7c211f Mon Sep 17 00:00:00 2001 From: Dmitri Makarov Date: Mon, 14 Mar 2022 18:41:03 -0700 Subject: [PATCH] Double the chunk size for sending the program binary data in tx --- programs/bpf/tests/programs.rs | 20 ++++++++++---------- runtime/src/loader_utils.rs | 6 ++++-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/programs/bpf/tests/programs.rs b/programs/bpf/tests/programs.rs index d0fc4ec2ab..93c4a4faf0 100644 --- a/programs/bpf/tests/programs.rs +++ b/programs/bpf/tests/programs.rs @@ -113,7 +113,7 @@ fn write_bpf_program( program_keypair: &Keypair, elf: &[u8], ) { - let chunk_size = 256; // Size of chunk just needs to fit into tx + let chunk_size = 512; // Size of chunk just needs to fit into tx let mut offset = 0; for chunk in elf.chunks(chunk_size) { let instruction = @@ -1437,20 +1437,20 @@ fn assert_instruction_count() { { programs.extend_from_slice(&[ ("solana_bpf_rust_128bit", 584), - ("solana_bpf_rust_alloc", 4559), - ("solana_bpf_rust_custom_heap", 458), + ("solana_bpf_rust_alloc", 4459), + ("solana_bpf_rust_custom_heap", 469), ("solana_bpf_rust_dep_crate", 2), - ("solana_bpf_rust_external_spend", 327), + ("solana_bpf_rust_external_spend", 338), ("solana_bpf_rust_iter", 108), ("solana_bpf_rust_many_args", 1289), - ("solana_bpf_rust_mem", 2217), - ("solana_bpf_rust_membuiltins", 1705), - ("solana_bpf_rust_noop", 315), + ("solana_bpf_rust_mem", 2118), + ("solana_bpf_rust_membuiltins", 1539), + ("solana_bpf_rust_noop", 326), ("solana_bpf_rust_param_passing", 146), - ("solana_bpf_rust_rand", 418), - ("solana_bpf_rust_sanity", 52170), + ("solana_bpf_rust_rand", 429), + ("solana_bpf_rust_sanity", 9139), ("solana_bpf_rust_secp256k1_recover", 25707), - ("solana_bpf_rust_sha", 25338), + ("solana_bpf_rust_sha", 26390), ]); } diff --git a/runtime/src/loader_utils.rs b/runtime/src/loader_utils.rs index 6c5196300c..fda5ebe2fa 100644 --- a/runtime/src/loader_utils.rs +++ b/runtime/src/loader_utils.rs @@ -12,6 +12,8 @@ use { }, }; +const CHUNK_SIZE: usize = 512; // Size of chunk just needs to fit into tx + pub fn load_program( bank_client: &T, from_keypair: &Keypair, @@ -39,7 +41,7 @@ pub fn load_program( ) .unwrap(); - let chunk_size = 256; // Size of chunk just needs to fit into tx + let chunk_size = CHUNK_SIZE; let mut offset = 0; for chunk in program.chunks(chunk_size) { let instruction = @@ -91,7 +93,7 @@ pub fn load_buffer_account( ) .unwrap(); - let chunk_size = 256; // Size of chunk just needs to fit into tx + let chunk_size = CHUNK_SIZE; let mut offset = 0; for chunk in program.chunks(chunk_size) { let message = Message::new(