From 3eff7648ff4bc9598ca7085e9487c0c89e161213 Mon Sep 17 00:00:00 2001 From: "Jeff Washington (jwash)" Date: Mon, 13 Jun 2022 07:53:49 -0500 Subject: [PATCH] collect rent from multiple partitions in parallel (#25774) --- runtime/src/bank.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index 18ba8347ce..b2b58ae2a3 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -5183,8 +5183,12 @@ impl Bank { let partitions = self.rent_collection_partitions(); let count = partitions.len(); let rent_metrics = RentMetrics::default(); - partitions.into_iter().for_each(|partition| { - self.collect_rent_in_partition(partition, just_rewrites, &rent_metrics) + // partitions will usually be 1, but could be more if we skip slots + let thread_pool = &self.rc.accounts.accounts_db.thread_pool; + thread_pool.install(|| { + partitions.into_par_iter().for_each(|partition| { + self.collect_rent_in_partition(partition, just_rewrites, &rent_metrics) + }); }); measure.stop(); datapoint_info!(