From: Yuri Weinstein Date: Mon, 10 Jun 2024 19:38:28 +0000 (-0700) Subject: Merge pull request #51171 from amathuria/wip-amat-scrub-cost-related-changes X-Git-Tag: testing/wip-pdonnell-testing-20240611.170412-debug~20 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=50e984ca2d471f387188856ee6681b962c56bb47;p=ceph-ci.git Merge pull request #51171 from amathuria/wip-amat-scrub-cost-related-changes osd/scrub: Change scrub cost to average object size Reviewed-by: Samuel Just Reviewed-by: Pere Diaz Bou Reviewed-by: Sridhar Seshasayee --- 50e984ca2d471f387188856ee6681b962c56bb47 diff --cc src/osd/OSD.cc index 7dcebe83b5a,4fdde92d0c6..a45ae10d2a9 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@@ -1885,19 -1889,12 +1900,19 @@@ void OSDService::queue_scrub_is_finishe void OSDService::queue_scrub_next_chunk(PG *pg, Scrub::scrub_prio_t with_priority) { // Resulting scrub event: 'NextChunk' - queue_scrub_event_msg(pg, with_priority); + queue_scrub_event_msg_default_cost(pg, with_priority); } -void OSDService::queue_for_pg_delete(spg_t pgid, epoch_t e) +void OSDService::queue_for_pg_delete(spg_t pgid, epoch_t e, int64_t num_objects) { dout(10) << __func__ << " on " << pgid << " e " << e << dendl; + uint64_t cost_for_queue = [this, num_objects] { + if (op_queue_type_t::mClockScheduler == osd->osd_op_queue_type()) { + return num_objects * cct->_conf->osd_pg_delete_cost; + } else { + return cct->_conf->osd_pg_delete_cost; + } + }(); enqueue_back( OpSchedulerItem( unique_ptr(