]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.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>
Thu, 27 Apr 2023 13:11:22 +0000 (18:41 +0530)
commit7dbe6704935ede72c4b37252eaeaee1467057684
tree29299f849ed71fc18111dc5f2e57dc978120c02f
parent46aeb1a99e9a9803826d06e9e650dab62d48b18e
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