From: Haomai Wang Date: Mon, 27 Feb 2017 09:10:28 +0000 (+0800) Subject: msg/async/rdma: change notify to notify_worker X-Git-Tag: v12.0.1~212^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ab7de95dc7dc2ad11ce6ed85ddc5acea4c93eeb1;p=ceph.git msg/async/rdma: change notify to notify_worker Signed-off-by: Haomai Wang --- diff --git a/src/msg/async/rdma/RDMAStack.cc b/src/msg/async/rdma/RDMAStack.cc index f5e81dd9d3c..7e8a9d1251d 100644 --- a/src/msg/async/rdma/RDMAStack.cc +++ b/src/msg/async/rdma/RDMAStack.cc @@ -247,11 +247,12 @@ void RDMADispatcher::polling() } void RDMADispatcher::notify_pending_workers() { - Mutex::Locker l(w_lock); - if (pending_workers.empty()) - return ; - pending_workers.front()->pass_wc(std::move(vector())); - pending_workers.pop_front(); + { + Mutex::Locker l(w_lock); + if (pending_workers.empty()) + return ; + } + pending_workers.front()->notify_worker(); } int RDMADispatcher::register_qp(QueuePair *qp, RDMAConnectedSocketImpl* csi) @@ -380,7 +381,7 @@ void RDMAWorker::initialize() } } -void RDMAWorker::notify() +void RDMAWorker::notify_worker() { uint64_t i = 1; assert(write(notify_fd, &i, sizeof(i)) == sizeof(i)); @@ -393,7 +394,7 @@ void RDMAWorker::pass_wc(std::vector &&v) wc = std::move(v); else wc.insert(wc.end(), v.begin(), v.end()); - notify(); + notify_worker(); } void RDMAWorker::get_wc(std::vector &w) diff --git a/src/msg/async/rdma/RDMAStack.h b/src/msg/async/rdma/RDMAStack.h index 5bb200c3cb8..446b335d816 100644 --- a/src/msg/async/rdma/RDMAStack.h +++ b/src/msg/async/rdma/RDMAStack.h @@ -180,7 +180,7 @@ class RDMAWorker : public Worker { PerfCounters *perf_logger; explicit RDMAWorker(CephContext *c, unsigned i); virtual ~RDMAWorker(); - void notify(); + void notify_worker(); void pass_wc(std::vector &&v); void get_wc(std::vector &w); virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;