.set_long_description("This option specifies the cost per byte to consider in microseconds per OSD for solid state device type. This is considered by the mclock_scheduler to set an additional cost factor in QoS calculations. Only considered for osd_op_queue = mclock_scheduler")
.set_flag(Option::FLAG_RUNTIME),
- Option("osd_mclock_max_capacity_iops", Option::TYPE_FLOAT, Option::LEVEL_BASIC)
- .set_default(0.0)
- .set_description("Max IOPs capacity (at 4KiB block size) to consider per OSD (overrides _ssd and _hdd if non-zero)")
- .set_long_description("This option specifies the max osd capacity in iops per OSD. Helps in QoS calculations when enabling a dmclock profile. Only considered for osd_op_queue = mclock_scheduler")
- .set_flag(Option::FLAG_RUNTIME),
-
Option("osd_mclock_max_capacity_iops_hdd", Option::TYPE_FLOAT, Option::LEVEL_BASIC)
.set_default(315.0)
.set_description("Max IOPs capacity (at 4KiB block size) to consider per OSD (for rotational media)")
void mClockScheduler::set_max_osd_capacity()
{
- if (cct->_conf.get_val<double>("osd_mclock_max_capacity_iops")) {
+ if (is_rotational) {
max_osd_capacity =
- cct->_conf.get_val<double>("osd_mclock_max_capacity_iops");
+ cct->_conf.get_val<double>("osd_mclock_max_capacity_iops_hdd");
} else {
- if (is_rotational) {
- max_osd_capacity =
- cct->_conf.get_val<double>("osd_mclock_max_capacity_iops_hdd");
- } else {
- max_osd_capacity =
- cct->_conf.get_val<double>("osd_mclock_max_capacity_iops_ssd");
- }
+ max_osd_capacity =
+ cct->_conf.get_val<double>("osd_mclock_max_capacity_iops_ssd");
}
// Set per op-shard iops limit
max_osd_capacity /= num_shards;
"osd_mclock_cost_per_byte_usec",
"osd_mclock_cost_per_byte_usec_hdd",
"osd_mclock_cost_per_byte_usec_ssd",
- "osd_mclock_max_capacity_iops",
"osd_mclock_max_capacity_iops_hdd",
"osd_mclock_max_capacity_iops_ssd",
"osd_mclock_profile",
changed.count("osd_mclock_cost_per_byte_usec_ssd")) {
set_osd_mclock_cost_per_byte();
}
- if (changed.count("osd_mclock_max_capacity_iops") ||
- changed.count("osd_mclock_max_capacity_iops_hdd") ||
+ if (changed.count("osd_mclock_max_capacity_iops_hdd") ||
changed.count("osd_mclock_max_capacity_iops_ssd")) {
set_max_osd_capacity();
if (mclock_profile != "custom") {