From 729cb600ac13bd92dd658bcad86c0968a424d5e7 Mon Sep 17 00:00:00 2001 From: "J. Eric Ivancich" Date: Wed, 30 Aug 2017 12:54:23 -0400 Subject: [PATCH] osd: replace mclock subop opclass w/ rep_op opclass; combine duplicated code The OSD subops were replaced with replication ops (i.e., MSG_OSD_REPOP and MSG_OSD_REPOPREPLY) in jewel. mClock incorrectly used them as an op class rather than the newer replication ops. This fixes that and places eight ops into the repop class -- MSG_OSD_REPOP, MSG_OSD_REPOPREPLY, MSG_OSD_PG_UPDATE_LOG_MISSING, MSG_OSD_PG_UPDATE_LOG_MISSING_REPLY, MSG_OSD_EC_WRITE, MSG_OSD_EC_WRITE_REPLY, MSG_OSD_EC_READ, and MSG_OSD_EC_READ_REPLY. This alo removes dupliated code related to op classes in mClockOpClassQueue and mClockClientQueue and combines into mClockOpClassSupport. The three configuration options osd_op_queue_mclock_osd_subop_{res,wgt,lim} have also been replaced with osd_op_queue_mclock_osd_rep_op_{res,wgt,lim}. This also removes OpQueueItem::OpQueueable::op_type_t::osd_subop since it's not a category core ceph recognizes and is instead it's part of an mclock view of ops. Signed-off-by: J. Eric Ivancich --- src/common/legacy_config_opts.h | 6 +- src/common/options.cc | 100 ++++++++++++++-------------- src/osd/CMakeLists.txt | 1 + src/osd/OpQueueItem.h | 3 +- src/osd/mClockClientQueue.cc | 93 +++----------------------- src/osd/mClockClientQueue.h | 44 ++----------- src/osd/mClockOpClassQueue.cc | 87 +++---------------------- src/osd/mClockOpClassQueue.h | 67 ++++++------------- src/osd/mClockOpClassSupport.cc | 111 ++++++++++++++++++++++++++++++++ src/osd/mClockOpClassSupport.h | 92 ++++++++++++++++++++++++++ 10 files changed, 301 insertions(+), 303 deletions(-) create mode 100644 src/osd/mClockOpClassSupport.cc create mode 100644 src/osd/mClockOpClassSupport.h diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index 15154dd8039..210b48eefdb 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -681,9 +681,9 @@ OPTION(osd_op_queue_cut_off, OPT_STR) // Min priority to go to strict queue. (lo OPTION(osd_op_queue_mclock_client_op_res, OPT_DOUBLE) OPTION(osd_op_queue_mclock_client_op_wgt, OPT_DOUBLE) OPTION(osd_op_queue_mclock_client_op_lim, OPT_DOUBLE) -OPTION(osd_op_queue_mclock_osd_subop_res, OPT_DOUBLE) -OPTION(osd_op_queue_mclock_osd_subop_wgt, OPT_DOUBLE) -OPTION(osd_op_queue_mclock_osd_subop_lim, OPT_DOUBLE) +OPTION(osd_op_queue_mclock_osd_rep_op_res, OPT_DOUBLE) +OPTION(osd_op_queue_mclock_osd_rep_op_wgt, OPT_DOUBLE) +OPTION(osd_op_queue_mclock_osd_rep_op_lim, OPT_DOUBLE) OPTION(osd_op_queue_mclock_snap_res, OPT_DOUBLE) OPTION(osd_op_queue_mclock_snap_wgt, OPT_DOUBLE) OPTION(osd_op_queue_mclock_snap_lim, OPT_DOUBLE) diff --git a/src/common/options.cc b/src/common/options.cc index dc37ad48a22..e61e116577d 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -1982,9 +1982,9 @@ std::vector