]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async/rdma: change notify to notify_worker
authorHaomai Wang <haomai@xsky.com>
Mon, 27 Feb 2017 09:10:28 +0000 (17:10 +0800)
committerHaomai Wang <haomai@xsky.com>
Mon, 27 Feb 2017 09:57:49 +0000 (17:57 +0800)
Signed-off-by: Haomai Wang <haomai@xsky.com>
src/msg/async/rdma/RDMAStack.cc
src/msg/async/rdma/RDMAStack.h

index f5e81dd9d3c5bb0d1c6871fdd2d3928bfbed20ec..7e8a9d1251dabce9a9efa093ba87414c5e7fd4c5 100644 (file)
@@ -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<ibv_wc>()));
-  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<ibv_wc> &&v)
     wc = std::move(v);
   else
     wc.insert(wc.end(), v.begin(), v.end());
-  notify();
+  notify_worker();
 }
 
 void RDMAWorker::get_wc(std::vector<ibv_wc> &w)
index 5bb200c3cb8bec091ca3f3bd27a70e9134dc7883..446b335d816c9880ff783b931a7860005e270cc6 100644 (file)
@@ -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<ibv_wc> &&v);
   void get_wc(std::vector<ibv_wc> &w);
   virtual int listen(entity_addr_t &addr, const SocketOptions &opts, ServerSocket *) override;