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