]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: update PGRecovery queue item cost to reflect object size
authorSridhar Seshasayee <sseshasa@redhat.com>
Thu, 2 Feb 2023 10:00:26 +0000 (15:30 +0530)
committerSridhar Seshasayee <sseshasa@redhat.com>
Mon, 8 May 2023 10:51:59 +0000 (16:21 +0530)
commite3ccb80bbccd460e226a7d89162ec43a71217ca6
treef5d56a45b8fa889892e2c3243374df2ed6ca4cd6
parenta8832bbd240fb51c1357cd6fcf2e4b8379dcd571
osd: update PGRecovery queue item cost to reflect object size

Previously, we used a static value of osd_recovery_cost (20M
by default) for PGRecovery. For pools with relatively small
objects, this causes mclock to backfill very very slowly as
20M massively overestimates the amount of IO each recovery
queue operation requires. Instead, add a cost_per_object
parameter to OSDService::awaiting_throttle and set it to the
average object size in the PG being queued.

Fixes: https://tracker.ceph.com/issues/58606
Signed-off-by: Samuel Just <sjust@redhat.com>
Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.cc