]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #59629 from sseshasa/wip-66422-reef
authorSrinivasaBharathKanta <61141011+SrinivasaBharath@users.noreply.github.com>
Mon, 4 Nov 2024 07:47:40 +0000 (13:17 +0530)
committerGitHub <noreply@github.com>
Mon, 4 Nov 2024 07:47:40 +0000 (13:17 +0530)
reef: osd/scrub: Change scrub cost to average object size

1  2 
src/osd/OSD.cc
src/osd/OSD.h

diff --cc src/osd/OSD.cc
index b61e7c09d8d4138492508815ff47976abef6cfb7,b3fdc6437e0a78b1fe96ad3f66863b78f5cc8d4c..d727cbddced0174e4dc82bbcf4fecb86fbe74a53
@@@ -1913,19 -1919,12 +1928,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<PGScrubGetNextChunk>(pg, with_priority);
+   queue_scrub_event_msg_default_cost<PGScrubGetNextChunk>(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<OpSchedulerItem::OpQueueable>(
diff --cc src/osd/OSD.h
Simple merge