]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
msg/async/rdma: Move resource handling to Device
authorAmir Vadai <amir@vadai.me>
Sun, 19 Mar 2017 14:36:48 +0000 (16:36 +0200)
committerAdir Lev <adirl@mellanox.com>
Thu, 23 Mar 2017 10:17:48 +0000 (12:17 +0200)
commit9cba3b36ef90a1f3d5d474f0fefe48e9c7ec6bad
treeed2c5bf8f4578b5049772b39635e715370e14782
parent67797db5beabaeef8518763eee1fe9ffa2a96546
msg/async/rdma: Move resource handling to Device

Move rx/tx completion channel and completion queue from RDMAStack into
Device class
Move SRQ and QP handling from Infiniband into Device class.
Adapt polling() to poll on multiple devices - will be used in a later
commit.

On construction Device will create a completion channel. This will
be done for every HCA on the server.
Only the Device in use will be initialized (init() will be called) and
cq, srq, MemoryManager and the rest of the resources will be allocated.

This patch also introduces RDMADispatcher::poll_{start,stop}
It is being used to stop the polling thread before destructing the
Device resources.

Issue: 995322
Change-Id: I79bfdc687ab690a46c05e271a436b33d8dba0182
Signed-off-by: Amir Vadai <amir@vadai.me>
src/msg/async/rdma/Device.cc
src/msg/async/rdma/Device.h
src/msg/async/rdma/Infiniband.cc
src/msg/async/rdma/Infiniband.h
src/msg/async/rdma/RDMAConnectedSocketImpl.cc
src/msg/async/rdma/RDMAStack.cc
src/msg/async/rdma/RDMAStack.h