From be3209712de3f4f2e573afb0c48b88341df81854 Mon Sep 17 00:00:00 2001 From: Trent Nelson Date: Mon, 13 Dec 2021 08:48:37 -0700 Subject: [PATCH] Revert "reports bpf execution units without tx-wide-compute-cap feature (#21731)" This reverts commit 87471ed7fbf6a202b9fe62045fdd550aa5efdf46. --- runtime/src/message_processor.rs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/runtime/src/message_processor.rs b/runtime/src/message_processor.rs index b594397c6d..867aee9b11 100644 --- a/runtime/src/message_processor.rs +++ b/runtime/src/message_processor.rs @@ -1260,9 +1260,6 @@ impl MessageProcessor { account_db, ancestors, ); - let pre_remaining_units = invoke_context.get_compute_meter().borrow().get_remaining(); - let mut time = Measure::start("execute_instruction"); - self.process_instruction(program_id, &instruction.data, &mut invoke_context)?; Self::verify( message, @@ -1277,14 +1274,6 @@ impl MessageProcessor { invoke_context.is_feature_active(&demote_program_write_locks::id()), )?; - time.stop(); - let post_remaining_units = invoke_context.get_compute_meter().borrow().get_remaining(); - - let program_timing = timings.per_program_timings.entry(*program_id).or_default(); - program_timing.accumulated_us += time.as_us(); - program_timing.accumulated_units += pre_remaining_units - post_remaining_units; - program_timing.count += 1; - timings.accumulate(&invoke_context.timings); Ok(()) @@ -1312,6 +1301,8 @@ impl MessageProcessor { ancestors: &Ancestors, ) -> Result<(), TransactionError> { for (instruction_index, instruction) in message.instructions.iter().enumerate() { + let mut time = Measure::start("execute_instruction"); + let pre_remaining_units = compute_meter.borrow().get_remaining(); let instruction_recorder = instruction_recorders .as_ref() .map(|recorders| recorders[instruction_index].clone()); @@ -1334,6 +1325,14 @@ impl MessageProcessor { ancestors, ) .map_err(|err| TransactionError::InstructionError(instruction_index as u8, err)); + time.stop(); + let post_remaining_units = compute_meter.borrow().get_remaining(); + + let program_id = instruction.program_id(&message.account_keys); + let program_timing = timings.per_program_timings.entry(*program_id).or_default(); + program_timing.accumulated_us += time.as_us(); + program_timing.accumulated_units += pre_remaining_units - post_remaining_units; + program_timing.count += 1; err?; }