]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat. 10365/head
authorJianpeng Ma <jianpeng.ma@intel.com>
Wed, 20 Jul 2016 18:03:41 +0000 (02:03 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Wed, 20 Jul 2016 18:03:41 +0000 (02:03 +0800)
Only sync-read, the l_osd_op_r_prepare_lat is equal
l_osd_op_r_process_lat. So don't calc for sync-read.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
src/osd/ReplicatedPG.cc

index 341edc9f5cf57a2d9b936a6c5d6cd60609361139..4742f2534c4273d450d270a40f2a7a3b1dab1a21 100644 (file)
@@ -2139,12 +2139,13 @@ void ReplicatedPG::do_op(OpRequestRef& op)
   execute_ctx(ctx);
   utime_t prepare_latency = ceph_clock_now(cct);
   prepare_latency -= op->get_dequeued_time();
-  osd->logger->tinc(l_osd_op_prepare_lat, prepare_latency);
   if (op->may_read() && op->may_write()) {
+    osd->logger->tinc(l_osd_op_prepare_lat, prepare_latency);
     osd->logger->tinc(l_osd_op_rw_prepare_lat, prepare_latency);
-  } else if (op->may_read()) {
+  } else if (!ctx->pending_async_reads.empty() && op->may_read()) {
     osd->logger->tinc(l_osd_op_r_prepare_lat, prepare_latency);
   } else if (op->may_write() || op->may_cache()) {
+    osd->logger->tinc(l_osd_op_prepare_lat, prepare_latency);
     osd->logger->tinc(l_osd_op_w_prepare_lat, prepare_latency);
   }
 }