default: 0.011
flags:
- runtime
-- name: osd_mclock_max_capacity_iops
- type: float
- level: basic
- desc: Max IOPs capacity (at 4KiB block size) to consider per OSD (overrides _ssd
- and _hdd if non-zero)
- long_desc: 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
- fmt_desc: Max IOPS capacity (at 4KiB block size) to consider per OSD
- (overrides _ssd and _hdd if non-zero)
- default: 0
- flags:
- - runtime
- name: osd_mclock_max_capacity_iops_hdd
type: float
level: basic
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") {