]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
common/options: remove unavailable values of osd_op_queue 37394/head
authorluo rixin <luorixin@huawei.com>
Thu, 24 Sep 2020 13:17:36 +0000 (21:17 +0800)
committerluo rixin <luorixin@huawei.com>
Sat, 10 Oct 2020 01:28:17 +0000 (09:28 +0800)
Signed-off-by: luo rixin <luorixin@huawei.com>
doc/rados/configuration/osd-config-ref.rst
src/common/options.cc

index 344599fe7aa976c5237562a5319326152830d23e..9b2d38df2911e4ddf8b853a944b3f18c529c75d4 100644 (file)
@@ -384,22 +384,16 @@ Operations
 :Description: This sets the type of queue to be used for prioritizing ops
               in the OSDs. Both queues feature a strict sub-queue which is
               dequeued before the normal queue. The normal queue is different
-              between implementations. The original PrioritizedQueue (``prio``) uses a
-              token bucket system which when there are sufficient tokens will
-              dequeue high priority queues first. If there are not enough
-              tokens available, queues are dequeued low priority to high priority.
-              The WeightedPriorityQueue (``wpq``) dequeues all priorities in
-              relation to their priorities to prevent starvation of any queue.
-              WPQ should help in cases where a few OSDs are more overloaded
-              than others. The new mClock based OpClassQueue
-              (``mclock_opclass``) prioritizes operations based on which class
+              between implementations. The WeightedPriorityQueue (``wpq``)
+              dequeues operations in relation to their priorities to prevent
+              starvation of any queue. WPQ should help in cases where a few OSDs
+              are more overloaded than others. The new mClockQueue
+              (``mclock_scheduler``) prioritizes operations based on which class
               they belong to (recovery, scrub, snaptrim, client op, osd subop).
-              And, the mClock based ClientQueue (``mclock_client``) also
-              incorporates the client identifier in order to promote fairness
-              between clients. See `QoS Based on mClock`_. Requires a restart.
+              See `QoS Based on mClock`_. Requires a restart.
 
 :Type: String
-:Valid Choices: prio, wpq, mclock_opclass, mclock_client
+:Valid Choices: wpq, mclock_scheduler
 :Default: ``wpq``
 
 
@@ -558,7 +552,7 @@ based on `the dmClock algorithm`_. This algorithm allocates the I/O
 resources of the Ceph cluster in proportion to weights, and enforces
 the constraints of minimum reservation and maximum limitation, so that
 the services can compete for the resources fairly. Currently the
-*mclock_opclass* operation queue divides Ceph services involving I/O
+*mclock_scheduler* operation queue divides Ceph services involving I/O
 resources into following buckets:
 
 - client op: the iops issued by client
@@ -597,12 +591,6 @@ competitor "1". In the case of client ops, it is not clamped by the
 limit setting, so it can make use of all the resources if there is no
 recovery ongoing.
 
-Along with *mclock_opclass* another mclock operation queue named
-*mclock_client* is available. It divides operations based on category
-but also divides them based on the client making the request. This
-helps not only manage the distribution of resources spent on different
-classes of operations but also tries to ensure fairness among clients.
-
 CURRENT IMPLEMENTATION NOTE: the current experimental implementation
 does not enforce the limit values. As a first approximation we decided
 not to prevent operations that would otherwise enter the operation
@@ -689,124 +677,76 @@ mClock and dmClock experiments in the ceph-devel mailing list.
 :Default: 8 MiB
 
 
-``osd op queue mclock client op res``
-
-:Description: the reservation of client op.
-
-:Type: Float
-:Default: 1000.0
-
-
-``osd op queue mclock client op wgt``
-
-:Description: the weight of client op.
-
-:Type: Float
-:Default: 500.0
-
-
-``osd op queue mclock client op lim``
-
-:Description: the limit of client op.
-
-:Type: Float
-:Default: 1000.0
-
-
-``osd op queue mclock osd subop res``
-
-:Description: the reservation of osd subop.
-
-:Type: Float
-:Default: 1000.0
-
-
-``osd op queue mclock osd subop wgt``
-
-:Description: the weight of osd subop.
-
-:Type: Float
-:Default: 500.0
-
+``osd mclock scheduler client res``
 
-``osd op queue mclock osd subop lim``
+:Description: IO proportion reserved for each client (default).
 
-:Description: the limit of osd subop.
-
-:Type: Float
-:Default: 0.0
-
-
-``osd op queue mclock snap res``
-
-:Description: the reservation of snap trimming.
-
-:Type: Float
-:Default: 0.0
+:Type: Unsigned Integer
+:Default: 1
 
 
-``osd op queue mclock snap wgt``
+``osd mclock scheduler client wgt``
 
-:Description: the weight of snap trimming.
+:Description: IO share for each client (default) over reservation.
 
-:Type: Float
-:Default: 1.0
+:Type: Unsigned Integer
+:Default: 1
 
 
-``osd op queue mclock snap lim``
+``osd mclock scheduler client lim``
 
-:Description: the limit of snap trimming.
+:Description: IO limit for each client (default) over reservation.
 
-:Type: Float
-:Default: 0.001
+:Type: Unsigned Integer
+:Default: 999999
 
 
-``osd op queue mclock recov res``
+``osd mclock scheduler background recovery res``
 
-:Description: the reservation of recovery.
+:Description: IO proportion reserved for background recovery (default).
 
-:Type: Float
-:Default: 0.0
+:Type: Unsigned Integer
+:Default: 1
 
 
-``osd op queue mclock recov wgt``
+``osd mclock scheduler background recovery wgt``
 
-:Description: the weight of recovery.
+:Description: IO share for each background recovery over reservation.
 
-:Type: Float
-:Default: 1.0
+:Type: Unsigned Integer
+:Default: 1
 
 
-``osd op queue mclock recov lim``
+``osd mclock scheduler background recovery lim``
 
-:Description: the limit of recovery.
+:Description: IO limit for background recovery over reservation.
 
-:Type: Float
-:Default: 0.001
+:Type: Unsigned Integer
+:Default: 999999
 
 
-``osd op queue mclock scrub res``
+``osd mclock scheduler background best effort res``
 
-:Description: the reservation of scrub jobs.
+:Description: IO proportion reserved for background best_effort (default).
 
-:Type: Float
-:Default: 0.0
+:Type: Unsigned Integer
+:Default: 1
 
 
-``osd op queue mclock scrub wgt``
+``osd mclock scheduler background best effort wgt``
 
-:Description: the weight of scrub jobs.
+:Description: IO share for each background best_effort over reservation.
 
-:Type: Float
-:Default: 1.0
+:Type: Unsigned Integer
+:Default: 1
 
 
-``osd op queue mclock scrub lim``
+``osd mclock scheduler background best effort lim``
 
-:Description: the limit of scrub jobs.
+:Description: IO limit for background best_effort over reservation.
 
-:Type: Float
-:Default: 0.001
+:Type: Unsigned Integer
+:Default: 999999
 
 .. _the dmClock algorithm: https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Gulati.pdf
 
index 286d5bf7719dd6c8a155b5d0c80dbb66ce82a44a..12bd715a9f917436a5ff26614d4688744fbd1484 100644 (file)
@@ -2950,13 +2950,10 @@ std::vector<Option> get_global_options() {
 
     Option("osd_op_queue", Option::TYPE_STR, Option::LEVEL_ADVANCED)
     .set_default("wpq")
-    .set_enum_allowed( { "wpq", "prioritized",
-         "mclock_opclass", "mclock_client", "mclock_scheduler",
-         "debug_random" } )
+    .set_enum_allowed( { "wpq", "mclock_scheduler", "debug_random" } )
     .set_description("which operation priority queue algorithm to use")
     .set_long_description("which operation priority queue algorithm to use; "
-                         "mclock_opclass mclock_client, and "
-                         "mclock_client_profile are currently experimental")
+                         "mclock_scheduler is currently experimental")
     .add_see_also("osd_op_queue_cut_off"),
 
     Option("osd_op_queue_cut_off", Option::TYPE_STR, Option::LEVEL_ADVANCED)