Skip to content

Commit c597a6c

Browse files
Report timing info for stakes cache updates from txs (backport solana-labs#20856) (solana-labs#20883)
* Report timing info for stakes cache updates from txs (solana-labs#20856) (cherry picked from commit 7350166) # Conflicts: # runtime/src/bank.rs * resolve conflicts Co-authored-by: Justin Starry <justin@solana.com>
1 parent d890aa9 commit c597a6c

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

core/src/progress_map.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ impl ReplaySlotStats {
6363
("load_us", self.execute_timings.load_us, i64),
6464
("execute_us", self.execute_timings.execute_us, i64),
6565
("store_us", self.execute_timings.store_us, i64),
66+
(
67+
"update_stakes_cache_us",
68+
self.execute_timings.update_stakes_cache_us,
69+
i64
70+
),
6671
(
6772
"total_batches_len",
6873
self.execute_timings.total_batches_len,

runtime/src/bank.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ pub struct ExecuteTimings {
167167
pub load_us: u64,
168168
pub execute_us: u64,
169169
pub store_us: u64,
170+
pub update_stakes_cache_us: u64,
170171
pub total_batches_len: usize,
171172
pub num_execute_batches: u64,
172173
pub details: ExecuteDetailsTimings,
@@ -178,6 +179,7 @@ impl ExecuteTimings {
178179
self.load_us += other.load_us;
179180
self.execute_us += other.execute_us;
180181
self.store_us += other.store_us;
182+
self.update_stakes_cache_us += other.update_stakes_cache_us;
181183
self.total_batches_len += other.total_batches_len;
182184
self.num_execute_batches += other.num_execute_batches;
183185
self.details.accumulate(&other.details);
@@ -3917,8 +3919,10 @@ impl Bank {
39173919
);
39183920
let rent_debits = self.collect_rent(executed, loaded_txs);
39193921

3922+
let mut update_stakes_cache_time = Measure::start("update_stakes_cache_time");
39203923
let overwritten_vote_accounts =
3921-
self.update_cached_accounts(hashed_txs.as_transactions_iter(), executed, loaded_txs);
3924+
self.update_stakes_cache(hashed_txs.as_transactions_iter(), executed, loaded_txs);
3925+
update_stakes_cache_time.stop();
39223926

39233927
// once committed there is no way to unroll
39243928
write_time.stop();
@@ -3928,6 +3932,7 @@ impl Bank {
39283932
hashed_txs.len()
39293933
);
39303934
timings.store_us += write_time.as_us();
3935+
timings.update_stakes_cache_us += update_stakes_cache_time.as_us();
39313936
self.update_transaction_statuses(hashed_txs, executed);
39323937
let fee_collection_results =
39333938
self.filter_program_errors_and_collect_fee(hashed_txs.as_transactions_iter(), executed);
@@ -5301,8 +5306,8 @@ impl Bank {
53015306
self.epoch_schedule.get_leader_schedule_epoch(slot)
53025307
}
53035308

5304-
/// a bank-level cache of vote accounts
5305-
fn update_cached_accounts<'a>(
5309+
/// a bank-level cache of vote accounts and stake delegation info
5310+
fn update_stakes_cache<'a>(
53065311
&self,
53075312
txs: impl Iterator<Item = &'a Transaction>,
53085313
res: &[TransactionExecutionResult],

0 commit comments

Comments
 (0)