From d15d451cf7fb1ec924863ce8f517de7f8de9d0aa Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 1 Oct 2021 13:02:24 -0500 Subject: [PATCH] os/bluetore: configurable sleep period for cleaner Signed-off-by: Sage Weil --- src/common/options/global.yaml.in | 6 ++++++ src/os/bluestore/BlueStore.cc | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/common/options/global.yaml.in b/src/common/options/global.yaml.in index 38b95313bc96d..dbd31ffc4505d 100644 --- a/src/common/options/global.yaml.in +++ b/src/common/options/global.yaml.in @@ -6069,3 +6069,9 @@ options: - spdk - pmem - hm_smr +- name: bluestore_cleaner_sleep_interval + type: float + level: advanced + desc: How long cleaner should sleep before re-checking utilization + default: 5 + with_legacy: true diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 0b43c65cab038..3c57055b32108 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -13102,8 +13102,9 @@ void BlueStore::_zoned_cleaner_thread() if (zoned_cleaner_stop) { break; } - dout(20) << __func__ << " sleep" << dendl; - zoned_cleaner_cond.wait(l); + auto period = ceph::make_timespan(cct->_conf->bluestore_cleaner_sleep_interval); + dout(20) << __func__ << " sleep for " << period << dendl; + zoned_cleaner_cond.wait_for(l, period); dout(20) << __func__ << " wake" << dendl; } else { l.unlock(); -- 2.39.5