Skip to content

Commit

Permalink
Remove coretime_ prefix from config params - part 2
Browse files Browse the repository at this point in the history
  • Loading branch information
tdimitrov committed Feb 2, 2024
1 parent e8d179c commit 135e057
Show file tree
Hide file tree
Showing 14 changed files with 53 additions and 61 deletions.
18 changes: 9 additions & 9 deletions polkadot/primitives/src/vstaging/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,13 @@ impl Default for ApprovalVotingParams {
)]
pub struct CoretimeParams<BlockNumber> {
/// How many cores are managed by the coretime chain.
pub coretime_cores: u32,
pub cores: u32,
/// The max number of times a claim can time out in availability
pub coretime_max_availability_timeouts: u32,
pub max_availability_timeouts: u32,
/// The number of blocks a claim stays in the scheduler's claimqueue before getting cleared.
/// This number should go reasonably higher than the number of blocks in the async backing
/// lookahead.
pub ttl: BlockNumber,
/// The maximum queue size of the pay as you go module.
pub on_demand_queue_max_size: u32,
/// The target utilization of the spot price queue in percentages.
Expand All @@ -77,22 +81,18 @@ pub struct CoretimeParams<BlockNumber> {
pub on_demand_fee_variability: Perbill,
/// The minimum amount needed to claim a slot in the spot pricing queue.
pub on_demand_base_fee: Balance,
/// The number of blocks a claim stays in the scheduler's claimqueue before getting cleared.
/// This number should go reasonably higher than the number of blocks in the async backing
/// lookahead.
pub coretime_ttl: BlockNumber,
}

impl<BlockNumber: Default + From<u32>> Default for CoretimeParams<BlockNumber> {
fn default() -> Self {
Self {
coretime_cores: Default::default(),
coretime_max_availability_timeouts: Default::default(),
cores: Default::default(),
max_availability_timeouts: Default::default(),
ttl: 5u32.into(),
on_demand_queue_max_size: ON_DEMAND_DEFAULT_QUEUE_MAX_SIZE,
on_demand_target_queue_utilization: Perbill::from_percent(25),
on_demand_fee_variability: Perbill::from_percent(3),
on_demand_base_fee: 10_000_000u128,
coretime_ttl: 5u32.into(),
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ impl GenesisConfigBuilder {
pub(super) fn build(self) -> MockGenesisConfig {
let mut genesis = default_genesis_config();
let config = &mut genesis.configuration.config;
config.coretime_params.coretime_cores = self.on_demand_cores;
config.coretime_params.cores = self.on_demand_cores;
config.coretime_params.on_demand_base_fee = self.on_demand_base_fee;
config.coretime_params.on_demand_fee_variability = self.on_demand_fee_variability;
config.coretime_params.on_demand_queue_max_size = self.on_demand_max_queue_size;
Expand Down
6 changes: 3 additions & 3 deletions polkadot/runtime/parachains/src/assigner_coretime/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ impl<T: Config> AssignmentProvider<BlockNumberFor<T>> for Pallet<T> {

fn session_core_count() -> u32 {
let config = <configuration::Pallet<T>>::config();
config.coretime_params.coretime_cores
config.coretime_params.cores
}
}

Expand Down Expand Up @@ -474,8 +474,8 @@ impl<T: Config> AssignCoretime for Pallet<T> {

// Add a new core and assign the para to it.
let mut config = <configuration::Pallet<T>>::config();
let core = config.coretime_params.coretime_cores;
config.coretime_params.coretime_cores.saturating_inc();
let core = config.coretime_params.cores;
config.coretime_params.cores.saturating_inc();

// `assign_coretime` is only called at genesis or by root, so setting the active
// config here is fine.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ impl GenesisConfigBuilder {
pub(super) fn build(self) -> MockGenesisConfig {
let mut genesis = default_genesis_config();
let config = &mut genesis.configuration.config;
config.coretime_params.coretime_cores = self.on_demand_cores;
config.coretime_params.cores = self.on_demand_cores;
config.coretime_params.on_demand_base_fee = self.on_demand_base_fee;
config.coretime_params.on_demand_fee_variability = self.on_demand_fee_variability;
config.coretime_params.on_demand_queue_max_size = self.on_demand_max_queue_size;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ impl GenesisConfigBuilder {
pub(super) fn build(self) -> MockGenesisConfig {
let mut genesis = default_genesis_config();
let config = &mut genesis.configuration.config;
config.coretime_params.coretime_cores = self.on_demand_cores;
config.coretime_params.cores = self.on_demand_cores;
config.coretime_params.on_demand_base_fee = self.on_demand_base_fee;
config.coretime_params.on_demand_fee_variability = self.on_demand_fee_variability;
config.coretime_params.on_demand_queue_max_size = self.on_demand_max_queue_size;
Expand Down
6 changes: 3 additions & 3 deletions polkadot/runtime/parachains/src/configuration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -669,7 +669,7 @@ pub mod pallet {
pub fn set_on_demand_retries(origin: OriginFor<T>, new: u32) -> DispatchResult {
ensure_root(origin)?;
Self::schedule_config_update(|config| {
config.coretime_params.coretime_max_availability_timeouts = new;
config.coretime_params.max_availability_timeouts = new;
})
}

Expand Down Expand Up @@ -1175,7 +1175,7 @@ pub mod pallet {
pub fn set_on_demand_ttl(origin: OriginFor<T>, new: BlockNumberFor<T>) -> DispatchResult {
ensure_root(origin)?;
Self::schedule_config_update(|config| {
config.coretime_params.coretime_ttl = new;
config.coretime_params.ttl = new;
})
}

Expand Down Expand Up @@ -1233,7 +1233,7 @@ pub mod pallet {
/// To be used if authorization is checked otherwise.
pub fn set_coretime_cores_unchecked(new: u32) -> DispatchResult {
Self::schedule_config_update(|config| {
config.coretime_params.coretime_cores = new;
config.coretime_params.cores = new;
})
}
}
Expand Down
12 changes: 6 additions & 6 deletions polkadot/runtime/parachains/src/configuration/migration/v12.rs
Original file line number Diff line number Diff line change
Expand Up @@ -146,13 +146,13 @@ fn migrate_to_v12<T: Config>() -> Weight {
node_features : pre.node_features,
approval_voting_params : pre.approval_voting_params,
coretime_params: CoretimeParams {
coretime_cores : pre.coretime_cores,
coretime_max_availability_timeouts : pre.on_demand_retries,
cores: pre.coretime_cores,
max_availability_timeouts: pre.on_demand_retries,
on_demand_queue_max_size : pre.on_demand_queue_max_size,
on_demand_target_queue_utilization : pre.on_demand_target_queue_utilization,
on_demand_fee_variability : pre.on_demand_fee_variability,
on_demand_base_fee : pre.on_demand_base_fee,
coretime_ttl : pre.on_demand_ttl,
ttl: pre.on_demand_ttl,
}
}
};
Expand Down Expand Up @@ -305,13 +305,13 @@ mod tests {
assert_eq!(v11.async_backing_params.max_candidate_depth , v12.async_backing_params.max_candidate_depth);
assert_eq!(v11.executor_params , v12.executor_params);
assert_eq!(v11.minimum_backing_votes , v12.minimum_backing_votes);
assert_eq!(v11.coretime_cores , v12.coretime_params.coretime_cores);
assert_eq!(v11.on_demand_retries , v12.coretime_params.coretime_max_availability_timeouts);
assert_eq!(v11.coretime_cores , v12.coretime_params.cores);
assert_eq!(v11.on_demand_retries , v12.coretime_params.max_availability_timeouts);
assert_eq!(v11.on_demand_queue_max_size , v12.coretime_params.on_demand_queue_max_size);
assert_eq!(v11.on_demand_target_queue_utilization , v12.coretime_params.on_demand_target_queue_utilization);
assert_eq!(v11.on_demand_fee_variability , v12.coretime_params.on_demand_fee_variability);
assert_eq!(v11.on_demand_base_fee , v12.coretime_params.on_demand_base_fee);
assert_eq!(v11.on_demand_ttl , v12.coretime_params.coretime_ttl);
assert_eq!(v11.on_demand_ttl , v12.coretime_params.ttl);
}; // ; makes this a statement. `rustfmt::skip` cannot be put on an expression.
}
});
Expand Down
15 changes: 6 additions & 9 deletions polkadot/runtime/parachains/src/configuration/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -315,13 +315,13 @@ fn setting_pending_config_members() {
minimum_backing_votes: 5,
node_features: bitvec![u8, Lsb0; 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1],
coretime_params: CoretimeParams {
coretime_cores: 2,
coretime_max_availability_timeouts: 5,
cores: 2,
max_availability_timeouts: 5,
on_demand_queue_max_size: 10_000u32,
on_demand_base_fee: 10_000_000u128,
on_demand_fee_variability: Perbill::from_percent(3),
on_demand_target_queue_utilization: Perbill::from_percent(25),
coretime_ttl: 5u32,
ttl: 5u32,
},
};

Expand All @@ -344,14 +344,11 @@ fn setting_pending_config_members() {
Configuration::set_max_pov_size(RuntimeOrigin::root(), new_config.max_pov_size).unwrap();
Configuration::set_max_head_data_size(RuntimeOrigin::root(), new_config.max_head_data_size)
.unwrap();
Configuration::set_coretime_cores(
RuntimeOrigin::root(),
new_config.coretime_params.coretime_cores,
)
.unwrap();
Configuration::set_coretime_cores(RuntimeOrigin::root(), new_config.coretime_params.cores)
.unwrap();
Configuration::set_on_demand_retries(
RuntimeOrigin::root(),
new_config.coretime_params.coretime_max_availability_timeouts,
new_config.coretime_params.max_availability_timeouts,
)
.unwrap();
Configuration::set_group_rotation_frequency(
Expand Down
16 changes: 6 additions & 10 deletions polkadot/runtime/parachains/src/coretime/migration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ mod v_coretime {

let config = <configuration::Pallet<T>>::config();
// coretime_cores was on_demand_cores until now:
for on_demand in 0..config.coretime_params.coretime_cores {
for on_demand in 0..config.coretime_params.cores {
let core = CoreIndex(legacy_count.saturating_add(on_demand as _));
let r = assigner_coretime::Pallet::<T>::assign_core(
core,
Expand All @@ -189,9 +189,9 @@ mod v_coretime {
log::error!("Creating assignment for existing on-demand core, failed: {:?}", err);
}
}
let total_cores = config.coretime_params.coretime_cores + legacy_count;
let total_cores = config.coretime_params.cores + legacy_count;
configuration::ActiveConfig::<T>::mutate(|c| {
c.coretime_params.coretime_cores = total_cores;
c.coretime_params.cores = total_cores;
});

if let Err(err) = migrate_send_assignments_to_coretime_chain::<T, SendXcm, LegacyLease>() {
Expand All @@ -200,9 +200,7 @@ mod v_coretime {

let single_weight = <T as Config>::WeightInfo::assign_core(1);
single_weight
.saturating_mul(u64::from(
legacy_count.saturating_add(config.coretime_params.coretime_cores),
))
.saturating_mul(u64::from(legacy_count.saturating_add(config.coretime_params.cores)))
// Second read from sending assignments to the coretime chain.
.saturating_add(T::DbWeight::get().reads_writes(2, 1))
}
Expand Down Expand Up @@ -246,10 +244,8 @@ mod v_coretime {
Some(mk_coretime_call(crate::coretime::CoretimeCalls::SetLease(p.into(), time_slice)))
});

let core_count: u16 = configuration::Pallet::<T>::config()
.coretime_params
.coretime_cores
.saturated_into();
let core_count: u16 =
configuration::Pallet::<T>::config().coretime_params.cores.saturated_into();
let set_core_count = iter::once(mk_coretime_call(
crate::coretime::CoretimeCalls::NotifyCoreCount(core_count),
));
Expand Down
4 changes: 2 additions & 2 deletions polkadot/runtime/parachains/src/coretime/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,8 @@ impl<T: Config> Pallet<T> {
}

pub fn initializer_on_new_session(notification: &SessionChangeNotification<BlockNumberFor<T>>) {
let old_core_count = notification.prev_config.coretime_params.coretime_cores;
let new_core_count = notification.new_config.coretime_params.coretime_cores;
let old_core_count = notification.prev_config.coretime_params.cores;
let new_core_count = notification.new_config.coretime_params.cores;
if new_core_count != old_core_count {
let core_count: u16 = new_core_count.saturated_into();
let message = Xcm(vec![
Expand Down
4 changes: 2 additions & 2 deletions polkadot/runtime/parachains/src/inclusion/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ use test_helpers::{dummy_collator, dummy_collator_signature, dummy_validation_co

fn default_config() -> HostConfiguration<BlockNumber> {
let mut config = HostConfiguration::default();
config.coretime_params.coretime_cores = 1;
config.coretime_params.cores = 1;
config.max_code_size = 0b100000;
config.max_head_data_size = 0b100000;
config.group_rotation_frequency = u32::MAX;
Expand Down Expand Up @@ -218,7 +218,7 @@ pub(crate) fn run_to_block(
}

pub(crate) fn expected_bits() -> usize {
Paras::parachains().len() + Configuration::config().coretime_params.coretime_cores as usize
Paras::parachains().len() + Configuration::config().coretime_params.cores as usize
}

fn default_bitfield() -> AvailabilityBitfield {
Expand Down
11 changes: 5 additions & 6 deletions polkadot/runtime/parachains/src/scheduler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ impl<T: Config> Pallet<T> {
fn drop_expired_claims_from_claimqueue() {
let now = <frame_system::Pallet<T>>::block_number();
let availability_cores = AvailabilityCores::<T>::get();
let ttl = <configuration::Pallet<T>>::config().coretime_params.coretime_ttl;
let ttl = <configuration::Pallet<T>>::config().coretime_params.ttl;

ClaimQueue::<T>::mutate(|cq| {
for (idx, _) in (0u32..).zip(availability_cores) {
Expand Down Expand Up @@ -509,9 +509,8 @@ impl<T: Config> Pallet<T> {
/// Return the next thing that will be scheduled on this core assuming it is currently
/// occupied and the candidate occupying it times out.
pub(crate) fn next_up_on_time_out(core: CoreIndex) -> Option<ScheduledCore> {
let max_availability_timeouts = <configuration::Pallet<T>>::config()
.coretime_params
.coretime_max_availability_timeouts;
let max_availability_timeouts =
<configuration::Pallet<T>>::config().coretime_params.max_availability_timeouts;
Self::next_up_on_available(core).or_else(|| {
// Or, if none, the claim currently occupying the core,
// as it would be put back on the queue after timing out if number of retries is not at
Expand Down Expand Up @@ -586,8 +585,8 @@ impl<T: Config> Pallet<T> {
let n_session_cores = T::AssignmentProvider::session_core_count();
let cq = ClaimQueue::<T>::get();
let config = <configuration::Pallet<T>>::config();
let max_availability_timeouts = config.coretime_params.coretime_max_availability_timeouts;
let ttl = config.coretime_params.coretime_ttl;
let max_availability_timeouts = config.coretime_params.max_availability_timeouts;
let ttl = config.coretime_params.ttl;

for core_idx in 0..n_session_cores {
let core_idx = CoreIndex::from(core_idx);
Expand Down
14 changes: 7 additions & 7 deletions polkadot/runtime/parachains/src/scheduler/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ fn default_config() -> HostConfiguration<BlockNumber> {
// `thread_availability_period`.
minimum_validation_upgrade_delay: 6,
coretime_params: CoretimeParams {
coretime_cores: 3,
coretime_max_availability_timeouts: 1,
cores: 3,
max_availability_timeouts: 1,
..Default::default()
},
..Default::default()
Expand Down Expand Up @@ -169,7 +169,7 @@ fn claimqueue_ttl_drop_fn_works() {
let mut now = 10;

new_test_ext(genesis_config).execute_with(|| {
assert!(config.coretime_params.coretime_ttl == 5);
assert!(config.coretime_params.ttl == 5);
// Register and run to a blockheight where the para is in a valid state.
schedule_blank_para(para_id);
run_to_block(now, |n| if n == now { Some(Default::default()) } else { None });
Expand Down Expand Up @@ -348,7 +348,7 @@ fn fill_claimqueue_fills() {

new_test_ext(genesis_config).execute_with(|| {
MockAssigner::set_core_count(2);
let coretime_ttl = config.coretime_params.coretime_ttl;
let coretime_ttl = config.coretime_params.ttl;

// Add 3 paras
schedule_blank_para(para_a);
Expand Down Expand Up @@ -751,8 +751,8 @@ fn on_demand_claims_are_pruned_after_timing_out() {
let mut config = default_config();
config.scheduling_lookahead = 1;
// Need more timeouts for this test
config.coretime_params.coretime_max_availability_timeouts = max_retries;
config.coretime_params.coretime_ttl = BlockNumber::from(5u32);
config.coretime_params.max_availability_timeouts = max_retries;
config.coretime_params.ttl = BlockNumber::from(5u32);
let genesis_config = genesis_config(&config);

let para_a = ParaId::from(1_u32);
Expand Down Expand Up @@ -1059,7 +1059,7 @@ fn session_change_requires_reschedule_dropping_removed_paras() {
new_test_ext(genesis_config).execute_with(|| {
// Setting explicit core count
MockAssigner::set_core_count(5);
let coretime_ttl = <configuration::Pallet<Test>>::config().coretime_params.coretime_ttl;
let coretime_ttl = <configuration::Pallet<Test>>::config().coretime_params.ttl;

schedule_blank_para(para_a);
schedule_blank_para(para_b);
Expand Down
2 changes: 1 addition & 1 deletion polkadot/runtime/parachains/src/session_info/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ fn default_config() -> HostConfiguration<BlockNumber> {
HostConfiguration {
dispute_period: 2,
needed_approvals: 3,
coretime_params: CoretimeParams { coretime_cores: 1, ..Default::default() },
coretime_params: CoretimeParams { cores: 1, ..Default::default() },
..Default::default()
}
}
Expand Down

0 comments on commit 135e057

Please sign in to comment.