msg/async/rdma: move active_queue_pairs perf counter dec to polling

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>
This commit is contained in:
DanielBar-On 2017-02-28 16:12:07 +00:00 committed by Adir Lev
parent 2bcd9d7dde
commit b364d24a57
2 changed files with 1 additions and 1 deletions

View 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);

View 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();
}
}