]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "osd: give recovery ops initialized by client op a higher priority"
authorxie xingguo <xie.xingguo@zte.com.cn>
Sun, 29 Sep 2019 01:57:22 +0000 (09:57 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Sun, 29 Sep 2019 05:08:29 +0000 (13:08 +0800)
This reverts commit c0f87e0f91539d4d12dad5bddf95a97457a21c67.

The 'osd_op_queue_cut_off' config option determines which level of
high priority ops should use strict priority ordering and may change
from time to time. Since the main strategy of 'osd_kick_recovery_op_priority'
is to simply follow up 'osd_op_queue_cut_off', we can instead make a direct
use of 'osd_op_queue_cut_off' to achieve the same thing explicitly.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
doc/rados/configuration/osd-config-ref.rst
src/common/legacy_config_opts.h
src/common/options.cc
src/osd/PrimaryLogPG.cc

index ef008b82ac4c9fe3d5eccfeb23e7e1b1a5a71e81..8a33ca4520fc996404e7110f508f9a3129068417 100644 (file)
@@ -438,31 +438,6 @@ Operations
 :Valid Range: 1-63
 
 
-``osd kick recovery op priority``
-
-:Description: The priority set for recovery operations that are forced by
-              client operations.
-              The new "mclock_opclass/mclock_client" queue basically prioritizes
-              operations based on the class they belong to. The priority property
-              of an operation, if lower than a specific value (64, by default),
-              will get ignored and hence all operations from the same class will
-              be treated fairly in a FIFO fashion (but still limited by the total
-              IOPS or bandwidth available for the corresponding class).
-              To reduce the impact of performance, a more general strategy would be
-              enforcing some limitations on the IOPS or bandwidth for the background
-              recovery (or backfill) operation class. However, this way we'll end up
-              blocking client operations too if they are currently blocked by some
-              degraded objects which need to be recovered first.
-              We hereby grant recovery operations of this kind a higher priority
-              to force them to use strict priority ordering, which should still
-              be of significance once we switch to the new "mclock_opclass/mclock_client"
-              queue.
-
-:Type: 32-bit Integer
-:Default: ``64``
-:Valid Range: 64-255
-
-
 ``osd scrub priority``
 
 :Description: The default priority set for a scheduled scrub work queue when the
index e8d122ab01c7912111f070d10ee5ab45ca5af273..46d5b86e0e62d0aa0a517c75b72a802d35da8145 100644 (file)
@@ -849,7 +849,6 @@ OPTION(mon_rocksdb_options, OPT_STR)
 OPTION(osd_client_op_priority, OPT_U32)
 OPTION(osd_recovery_op_priority, OPT_U32)
 OPTION(osd_peering_op_priority, OPT_U32)
-OPTION(osd_kick_recovery_op_priority, OPT_U32)
 
 OPTION(osd_snap_trim_priority, OPT_U32)
 OPTION(osd_snap_trim_cost, OPT_U32) // set default cost equal to 1MB io
index af1876223bf39e8a2cea2f6027b9c045b76068ef..b5da7b97148859a2bd19e380cdfcf02f83a82636 100644 (file)
@@ -4051,12 +4051,6 @@ std::vector<Option> get_global_options() {
     .set_default(255)
     .set_description(""),
 
-    Option("osd_kick_recovery_op_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
-    .set_default(64)
-    .set_description("priority for recovery ops instantized by client ops, "
-                     "default to 64 to use strict priority ordering")
-    .add_see_also("osd_recovery_op_priority"),
-
     Option("osd_snap_trim_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED)
     .set_default(5)
     .set_description(""),
index 3c49fae93186631dcbfa7f692e6b44ca2ce87cbb..ce0aaef8a1236177475991aeb07c922ebce214a9 100644 (file)
@@ -560,13 +560,13 @@ void PrimaryLogPG::maybe_kick_recovery(
     dout(7) << "object " << soid << " v " << v << ", recovering." << dendl;
     PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op();
     if (is_missing_object(soid)) {
-      recover_missing(soid, v, cct->_conf->osd_kick_recovery_op_priority, h);
+      recover_missing(soid, v, cct->_conf->osd_client_op_priority, h);
     } else if (recovery_state.get_missing_loc().is_deleted(soid)) {
       prep_object_replica_deletes(soid, v, h, &work_started);
     } else {
       prep_object_replica_pushes(soid, v, h, &work_started);
     }
-    pgbackend->run_recovery_op(h, cct->_conf->osd_kick_recovery_op_priority);
+    pgbackend->run_recovery_op(h, cct->_conf->osd_client_op_priority);
   }
 }