]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Reduce default max backfill/recoveries for mclock to realistic limits
authorSridhar Seshasayee <sseshasa@redhat.com>
Mon, 19 Sep 2022 08:48:33 +0000 (14:18 +0530)
committerSridhar Seshasayee <sseshasa@redhat.com>
Wed, 14 Dec 2022 19:11:53 +0000 (00:41 +0530)
commit81c0ca6cdc623278f64efd1daf65887d57ece621
tree7bcdc33be3c66a561ace64714d4c55bc30b2e973
parenta70a0d0b87f9d34f1b96ab88b6b65a20c12156c9
osd: Reduce default max backfill/recoveries for mclock to realistic limits

The earlier max number of backfill and recovery limits were overly
optimistic and caused recovery ops to overwhelm client ops regardless of
the mclock profile type.

Set the max backfill limit to 10. Set the max recovery limit to 10 for
osds having HDD backing device. For osds having SSD backing device, set
the recovery limit to 20.

Introduce and new config option, 'osd_mclock_override_recovery_settings',
that when set (false by default) allows the modification of the max
backfill and recovery options with mclock scheduler enabled.

It is important to note that with 'osd_mclock_override_recovery_settings'
disabled, the config subsystem will still allow the changes made to the
recovery and backfill settings when using the cli commands as the level at
which the change is made is always greater than CONF_DEFAULT. To counter this,
the osd will forcibly revert the recovery and backfill limits to the mClock
defaults by removing the existing setting from the config store and raises a
cluster log warning indicating the revert. This should force the user to set
the 'osd_mclock_override_recovery_settings' option first and then make changes
to the recovery and backfill limits.

Fixes: https://tracker.ceph.com/issues/57529
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
(cherry picked from commit 89e48395f8b1329066a1d7e05a4e9e083c88c1a6)
src/common/options/osd.yaml.in
src/osd/OSD.cc
src/osd/OSD.h