From: Changcheng Liu Date: Wed, 7 Aug 2019 07:13:38 +0000 (+0800) Subject: msg/async/rdma: remove stack from RDMAWorker X-Git-Tag: v15.1.0~1781^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fdd4053d1260982a92bed0cc396bca31a45d5e9b;p=ceph.git msg/async/rdma: remove stack from RDMAWorker There's no need to cache stack since RDMAWorker already has Inifiniband obj ib & RDMADispatcher obj dispatcher. Signed-off-by: Changcheng Liu --- diff --git a/src/msg/async/rdma/RDMAStack.cc b/src/msg/async/rdma/RDMAStack.cc index 6540660092e4..76eb27692d84 100644 --- a/src/msg/async/rdma/RDMAStack.cc +++ b/src/msg/async/rdma/RDMAStack.cc @@ -531,7 +531,7 @@ void RDMADispatcher::handle_rx_event(ibv_wc *cqe, int rx_number) } RDMAWorker::RDMAWorker(CephContext *c, unsigned i) - : Worker(c, i), stack(nullptr), + : Worker(c, i), tx_handler(new C_handle_cq_tx(this)) { // initialize perf_logger @@ -661,7 +661,6 @@ RDMAStack::RDMAStack(CephContext *cct, const string &t) unsigned num = get_num_worker(); for (unsigned i = 0; i < num; ++i) { RDMAWorker* w = dynamic_cast(get_worker(i)); - w->set_stack(this); w->set_dispatcher(rdma_dispatcher); w->set_ib(ib); } diff --git a/src/msg/async/rdma/RDMAStack.h b/src/msg/async/rdma/RDMAStack.h index fc54a7faeb48..144e5d224329 100644 --- a/src/msg/async/rdma/RDMAStack.h +++ b/src/msg/async/rdma/RDMAStack.h @@ -131,7 +131,6 @@ class RDMAWorker : public Worker { typedef Infiniband::MemoryManager::Chunk Chunk; typedef Infiniband::MemoryManager MemoryManager; typedef std::vector::iterator ChunkIter; - RDMAStack *stack; shared_ptr ib; EventCallbackRef tx_handler; std::list pending_sent_conns; @@ -156,14 +155,12 @@ class RDMAWorker : public Worker { const SocketOptions &opts, ServerSocket *) override; virtual int connect(const entity_addr_t &addr, const SocketOptions &opts, ConnectedSocket *socket) override; virtual void initialize() override; - RDMAStack *get_stack() { return stack; } int get_reged_mem(RDMAConnectedSocketImpl *o, std::vector &c, size_t bytes); void remove_pending_conn(RDMAConnectedSocketImpl *o) { ceph_assert(center.in_thread()); pending_sent_conns.remove(o); } void handle_pending_message(); - void set_stack(RDMAStack *s) { stack = s; } void set_dispatcher(shared_ptr& dispatcher) { this->dispatcher = dispatcher; } void set_ib(shared_ptr &ib) {this->ib = ib;} void notify_worker() {