Introduce a new dev config option "osd_mclock_skip_benchmark" that
when set skips running the OSD benchmark on start-up. By default
this option is disabled. This is useful in the following scenarios:
- Dev/CI testing,
- Configurations that don't need QoS.
If the option is enabled, the default OSD iops capacity is read from
osd_mclock_max_capacity_iops_[hdd,ssd].
Fixes: https://tracker.ceph.com/issues/52025
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
- osd_mclock_max_capacity_iops_ssd
flags:
- startup
+- name: osd_mclock_skip_benchmark
+ type: bool
+ level: dev
+ desc: Skip the OSD benchmark on OSD initialization/boot-up
+ long_desc: This option specifies whether the OSD benchmark must be skipped during
+ the OSD boot-up sequence. Only considered for osd_op_queue = mclock_scheduler.
+ fmt_desc: Skip the OSD benchmark on OSD initialization/boot-up
+ default: false
+ see_also:
+ - osd_mclock_max_capacity_iops_hdd
+ - osd_mclock_max_capacity_iops_ssd
+ flags:
+ - runtime
- name: osd_mclock_profile
type: str
level: advanced
// If the scheduler enabled is mclock, override the default
// osd capacity with the value obtained from running the
// osd bench test. This is later used to setup mclock.
- if (cct->_conf.get_val<std::string>("osd_op_queue") == "mclock_scheduler") {
+ if ((cct->_conf.get_val<std::string>("osd_op_queue") == "mclock_scheduler") &&
+ (cct->_conf.get_val<bool>("osd_mclock_skip_benchmark") == false)) {
std::string max_capacity_iops_config;
bool force_run_benchmark =
cct->_conf.get_val<bool>("osd_mclock_force_run_benchmark_on_init");