]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async/rdma: move active_queue_pairs perf counter dec to polling 13716/head
authorDanielBar-On <danielbo@mellanox.com>
Tue, 28 Feb 2017 16:12:07 +0000 (16:12 +0000)
committerAdir Lev <adirl@mellanox.com>
Wed, 1 Mar 2017 07:02:28 +0000 (09:02 +0200)
removing dead qp's is actually done at polling. if polling is busy then
dead qp will not be removed and active_queue_pair counter is not correct.

issue: 992513

Change-Id: I825e813ce0632fd01f6d29adc87e0e33a2bc13d9
Signed-off-by: DanielBar-On <danielbo@mellanox.com>
src/msg/async/rdma/RDMAConnectedSocketImpl.cc
src/msg/async/rdma/RDMAStack.cc

index a9666b66382f243f1cf7b4c69707cb332583f510..f2e75902022cb0c622f288b36022af858f0ccb77 100644 (file)
@@ -42,7 +42,6 @@ RDMAConnectedSocketImpl::RDMAConnectedSocketImpl(CephContext *cct, Infiniband* i
 RDMAConnectedSocketImpl::~RDMAConnectedSocketImpl()
 {
   ldout(cct, 20) << __func__ << " destruct." << dendl;
-  dispatcher->perf_logger->dec(l_msgr_rdma_active_queue_pair);
   cleanup();
   worker->remove_pending_conn(this);
   dispatcher->erase_qpn(my_msg.qpn);
index f5e81dd9d3c5bb0d1c6871fdd2d3928bfbed20ec..694c1364b5ba182a2dd035012cad2676bd827f32 100644 (file)
@@ -146,6 +146,7 @@ void RDMADispatcher::polling()
         while (!dead_queue_pairs.empty()) {
           ldout(cct, 10) << __func__ << " finally delete qp=" << dead_queue_pairs.back() << dendl;
           delete dead_queue_pairs.back();
+          perf_logger->dec(l_msgr_rdma_active_queue_pair);
           dead_queue_pairs.pop_back();
         }
       }