]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Override recovery/backfill/sleep options with mclock scheduler.
authorSridhar Seshasayee <sseshasa@redhat.com>
Fri, 16 Apr 2021 11:02:58 +0000 (16:32 +0530)
committerSridhar Seshasayee <sseshasa@redhat.com>
Tue, 27 Apr 2021 05:41:58 +0000 (11:11 +0530)
commit8876d27f389ce034732cc7b34869e970a3dc138f
treefe15e6c4eded80eab04971f864745728a3da367d
parentf0e1a16898077280deeea9f65310c8bb1a65b460
osd: Override recovery/backfill/sleep options with mclock scheduler.

Make the osd_*_sleep options modifiable during runtime and add them
to the set of tracked conf keys. This is to ensure that the sleep
options can be disabled/overridden during OSD bring-up if mclock
scheduler is employed.

Introduce OSD::maybe_override_options_for_qos():
  This method does the following if the mclock scheduler is enabled:
  - overrides the "recovery_max_active" to a high limit of 1000,
  - overrides "osd_max_backfills" option to a high limit of 1000 and
    sets the corresponding Async local and remote reserver objects also
    to the same value (1000),
  - disables osd_*_sleep options so that appropriate QoS may be
    provided with the mclock scheduler.

The above method is called in the following scenarios:
- After all the op shards are brought up during OSD initialization.
- In OSD::handle_conf_change() to override any settings related to
  QoS that the user intended to change.

Modify the mclock config reference to accurately reflect what options
can be changed when using mclock's "custom" profile and clean up
some whitespaces.

Fixes: https://tracker.ceph.com/issues/50501
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
doc/rados/configuration/mclock-config-ref.rst
src/common/options/global.yaml.in
src/osd/OSD.cc
src/osd/OSD.h