|
@@ -519,7 +519,7 @@ typedef struct kib_rx /* receive message */
|
|
|
enum ib_wc_status rx_status; /* completion status */
|
|
|
kib_msg_t *rx_msg; /* message buffer (host vaddr) */
|
|
|
__u64 rx_msgaddr; /* message buffer (I/O addr) */
|
|
|
- DECLARE_PCI_UNMAP_ADDR (rx_msgunmap); /* for dma_unmap_single() */
|
|
|
+ DECLARE_PCI_UNMAP_ADDR(rx_msgunmap); /* for dma_unmap_single() */
|
|
|
struct ib_recv_wr rx_wrq; /* receive work item... */
|
|
|
struct ib_sge rx_sge; /* ...and its memory */
|
|
|
} kib_rx_t;
|
|
@@ -546,7 +546,7 @@ typedef struct kib_tx /* transmit message */
|
|
|
* completion */
|
|
|
kib_msg_t *tx_msg; /* message buffer (host vaddr) */
|
|
|
__u64 tx_msgaddr; /* message buffer (I/O addr) */
|
|
|
- DECLARE_PCI_UNMAP_ADDR (tx_msgunmap); /* for dma_unmap_single() */
|
|
|
+ DECLARE_PCI_UNMAP_ADDR(tx_msgunmap); /* for dma_unmap_single() */
|
|
|
int tx_nwrq; /* # send work items */
|
|
|
struct ib_send_wr *tx_wrq; /* send work items... */
|
|
|
struct ib_sge *tx_sge; /* ...and their memory */
|
|
@@ -647,14 +647,14 @@ extern void kiblnd_hdev_destroy(kib_hca_dev_t *hdev);
|
|
|
static inline void
|
|
|
kiblnd_hdev_addref_locked(kib_hca_dev_t *hdev)
|
|
|
{
|
|
|
- LASSERT (atomic_read(&hdev->ibh_ref) > 0);
|
|
|
+ LASSERT(atomic_read(&hdev->ibh_ref) > 0);
|
|
|
atomic_inc(&hdev->ibh_ref);
|
|
|
}
|
|
|
|
|
|
static inline void
|
|
|
kiblnd_hdev_decref(kib_hca_dev_t *hdev)
|
|
|
{
|
|
|
- LASSERT (atomic_read(&hdev->ibh_ref) > 0);
|
|
|
+ LASSERT(atomic_read(&hdev->ibh_ref) > 0);
|
|
|
if (atomic_dec_and_test(&hdev->ibh_ref))
|
|
|
kiblnd_hdev_destroy(hdev);
|
|
|
}
|
|
@@ -701,7 +701,7 @@ do { \
|
|
|
do { \
|
|
|
CDEBUG(D_NET, "peer[%p] -> %s (%d)++\n", \
|
|
|
(peer), libcfs_nid2str((peer)->ibp_nid), \
|
|
|
- atomic_read (&(peer)->ibp_refcount)); \
|
|
|
+ atomic_read(&(peer)->ibp_refcount)); \
|
|
|
atomic_inc(&(peer)->ibp_refcount); \
|
|
|
} while (0)
|
|
|
|
|
@@ -709,14 +709,14 @@ do { \
|
|
|
do { \
|
|
|
CDEBUG(D_NET, "peer[%p] -> %s (%d)--\n", \
|
|
|
(peer), libcfs_nid2str((peer)->ibp_nid), \
|
|
|
- atomic_read (&(peer)->ibp_refcount)); \
|
|
|
+ atomic_read(&(peer)->ibp_refcount)); \
|
|
|
LASSERT_ATOMIC_POS(&(peer)->ibp_refcount); \
|
|
|
if (atomic_dec_and_test(&(peer)->ibp_refcount)) \
|
|
|
kiblnd_destroy_peer(peer); \
|
|
|
} while (0)
|
|
|
|
|
|
static inline struct list_head *
|
|
|
-kiblnd_nid2peerlist (lnet_nid_t nid)
|
|
|
+kiblnd_nid2peerlist(lnet_nid_t nid)
|
|
|
{
|
|
|
unsigned int hash =
|
|
|
((unsigned int)nid) % kiblnd_data.kib_peer_hash_size;
|
|
@@ -725,16 +725,16 @@ kiblnd_nid2peerlist (lnet_nid_t nid)
|
|
|
}
|
|
|
|
|
|
static inline int
|
|
|
-kiblnd_peer_active (kib_peer_t *peer)
|
|
|
+kiblnd_peer_active(kib_peer_t *peer)
|
|
|
{
|
|
|
/* Am I in the peer hash table? */
|
|
|
return (!list_empty(&peer->ibp_list));
|
|
|
}
|
|
|
|
|
|
static inline kib_conn_t *
|
|
|
-kiblnd_get_conn_locked (kib_peer_t *peer)
|
|
|
+kiblnd_get_conn_locked(kib_peer_t *peer)
|
|
|
{
|
|
|
- LASSERT (!list_empty(&peer->ibp_conns));
|
|
|
+ LASSERT(!list_empty(&peer->ibp_conns));
|
|
|
|
|
|
/* just return the first connection */
|
|
|
return list_entry(peer->ibp_conns.next, kib_conn_t, ibc_list);
|
|
@@ -751,7 +751,7 @@ kiblnd_send_keepalive(kib_conn_t *conn)
|
|
|
static inline int
|
|
|
kiblnd_need_noop(kib_conn_t *conn)
|
|
|
{
|
|
|
- LASSERT (conn->ibc_state >= IBLND_CONN_ESTABLISHED);
|
|
|
+ LASSERT(conn->ibc_state >= IBLND_CONN_ESTABLISHED);
|
|
|
|
|
|
if (conn->ibc_outstanding_credits <
|
|
|
IBLND_CREDITS_HIGHWATER(conn->ibc_version) &&
|
|
@@ -788,7 +788,7 @@ kiblnd_abort_receives(kib_conn_t *conn)
|
|
|
}
|
|
|
|
|
|
static inline const char *
|
|
|
-kiblnd_queue2str (kib_conn_t *conn, struct list_head *q)
|
|
|
+kiblnd_queue2str(kib_conn_t *conn, struct list_head *q)
|
|
|
{
|
|
|
if (q == &conn->ibc_tx_queue)
|
|
|
return "tx_queue";
|
|
@@ -815,43 +815,43 @@ kiblnd_queue2str (kib_conn_t *conn, struct list_head *q)
|
|
|
#define IBLND_WID_MASK 3UL
|
|
|
|
|
|
static inline __u64
|
|
|
-kiblnd_ptr2wreqid (void *ptr, int type)
|
|
|
+kiblnd_ptr2wreqid(void *ptr, int type)
|
|
|
{
|
|
|
unsigned long lptr = (unsigned long)ptr;
|
|
|
|
|
|
- LASSERT ((lptr & IBLND_WID_MASK) == 0);
|
|
|
- LASSERT ((type & ~IBLND_WID_MASK) == 0);
|
|
|
+ LASSERT((lptr & IBLND_WID_MASK) == 0);
|
|
|
+ LASSERT((type & ~IBLND_WID_MASK) == 0);
|
|
|
return (__u64)(lptr | type);
|
|
|
}
|
|
|
|
|
|
static inline void *
|
|
|
-kiblnd_wreqid2ptr (__u64 wreqid)
|
|
|
+kiblnd_wreqid2ptr(__u64 wreqid)
|
|
|
{
|
|
|
return (void *)(((unsigned long)wreqid) & ~IBLND_WID_MASK);
|
|
|
}
|
|
|
|
|
|
static inline int
|
|
|
-kiblnd_wreqid2type (__u64 wreqid)
|
|
|
+kiblnd_wreqid2type(__u64 wreqid)
|
|
|
{
|
|
|
return (wreqid & IBLND_WID_MASK);
|
|
|
}
|
|
|
|
|
|
static inline void
|
|
|
-kiblnd_set_conn_state (kib_conn_t *conn, int state)
|
|
|
+kiblnd_set_conn_state(kib_conn_t *conn, int state)
|
|
|
{
|
|
|
conn->ibc_state = state;
|
|
|
mb();
|
|
|
}
|
|
|
|
|
|
static inline void
|
|
|
-kiblnd_init_msg (kib_msg_t *msg, int type, int body_nob)
|
|
|
+kiblnd_init_msg(kib_msg_t *msg, int type, int body_nob)
|
|
|
{
|
|
|
msg->ibm_type = type;
|
|
|
msg->ibm_nob = offsetof(kib_msg_t, ibm_u) + body_nob;
|
|
|
}
|
|
|
|
|
|
static inline int
|
|
|
-kiblnd_rd_size (kib_rdma_desc_t *rd)
|
|
|
+kiblnd_rd_size(kib_rdma_desc_t *rd)
|
|
|
{
|
|
|
int i;
|
|
|
int size;
|
|
@@ -896,8 +896,8 @@ kiblnd_rd_consume_frag(kib_rdma_desc_t *rd, int index, __u32 nob)
|
|
|
static inline int
|
|
|
kiblnd_rd_msg_size(kib_rdma_desc_t *rd, int msgtype, int n)
|
|
|
{
|
|
|
- LASSERT (msgtype == IBLND_MSG_GET_REQ ||
|
|
|
- msgtype == IBLND_MSG_PUT_ACK);
|
|
|
+ LASSERT(msgtype == IBLND_MSG_GET_REQ ||
|
|
|
+ msgtype == IBLND_MSG_PUT_ACK);
|
|
|
|
|
|
return msgtype == IBLND_MSG_GET_REQ ?
|
|
|
offsetof(kib_get_msg_t, ibgm_rd.rd_frags[n]) :
|
|
@@ -982,53 +982,53 @@ int kiblnd_pmr_pool_map(kib_pmr_poolset_t *pps, kib_hca_dev_t *hdev,
|
|
|
kib_rdma_desc_t *rd, __u64 *iova, kib_phys_mr_t **pp_pmr);
|
|
|
void kiblnd_pmr_pool_unmap(kib_phys_mr_t *pmr);
|
|
|
|
|
|
-int kiblnd_startup (lnet_ni_t *ni);
|
|
|
-void kiblnd_shutdown (lnet_ni_t *ni);
|
|
|
-int kiblnd_ctl (lnet_ni_t *ni, unsigned int cmd, void *arg);
|
|
|
-void kiblnd_query (struct lnet_ni *ni, lnet_nid_t nid, unsigned long *when);
|
|
|
+int kiblnd_startup(lnet_ni_t *ni);
|
|
|
+void kiblnd_shutdown(lnet_ni_t *ni);
|
|
|
+int kiblnd_ctl(lnet_ni_t *ni, unsigned int cmd, void *arg);
|
|
|
+void kiblnd_query(struct lnet_ni *ni, lnet_nid_t nid, unsigned long *when);
|
|
|
|
|
|
int kiblnd_tunables_init(void);
|
|
|
void kiblnd_tunables_fini(void);
|
|
|
|
|
|
-int kiblnd_connd (void *arg);
|
|
|
+int kiblnd_connd(void *arg);
|
|
|
int kiblnd_scheduler(void *arg);
|
|
|
int kiblnd_thread_start(int (*fn)(void *arg), void *arg, char *name);
|
|
|
-int kiblnd_failover_thread (void *arg);
|
|
|
+int kiblnd_failover_thread(void *arg);
|
|
|
|
|
|
int kiblnd_alloc_pages(kib_pages_t **pp, int cpt, int npages);
|
|
|
-void kiblnd_free_pages (kib_pages_t *p);
|
|
|
+void kiblnd_free_pages(kib_pages_t *p);
|
|
|
|
|
|
int kiblnd_cm_callback(struct rdma_cm_id *cmid,
|
|
|
struct rdma_cm_event *event);
|
|
|
int kiblnd_translate_mtu(int value);
|
|
|
|
|
|
int kiblnd_dev_failover(kib_dev_t *dev);
|
|
|
-int kiblnd_create_peer (lnet_ni_t *ni, kib_peer_t **peerp, lnet_nid_t nid);
|
|
|
-void kiblnd_destroy_peer (kib_peer_t *peer);
|
|
|
-void kiblnd_destroy_dev (kib_dev_t *dev);
|
|
|
-void kiblnd_unlink_peer_locked (kib_peer_t *peer);
|
|
|
-void kiblnd_peer_alive (kib_peer_t *peer);
|
|
|
-kib_peer_t *kiblnd_find_peer_locked (lnet_nid_t nid);
|
|
|
-void kiblnd_peer_connect_failed (kib_peer_t *peer, int active, int error);
|
|
|
-int kiblnd_close_stale_conns_locked (kib_peer_t *peer,
|
|
|
+int kiblnd_create_peer(lnet_ni_t *ni, kib_peer_t **peerp, lnet_nid_t nid);
|
|
|
+void kiblnd_destroy_peer(kib_peer_t *peer);
|
|
|
+void kiblnd_destroy_dev(kib_dev_t *dev);
|
|
|
+void kiblnd_unlink_peer_locked(kib_peer_t *peer);
|
|
|
+void kiblnd_peer_alive(kib_peer_t *peer);
|
|
|
+kib_peer_t *kiblnd_find_peer_locked(lnet_nid_t nid);
|
|
|
+void kiblnd_peer_connect_failed(kib_peer_t *peer, int active, int error);
|
|
|
+int kiblnd_close_stale_conns_locked(kib_peer_t *peer,
|
|
|
int version, __u64 incarnation);
|
|
|
-int kiblnd_close_peer_conns_locked (kib_peer_t *peer, int why);
|
|
|
+int kiblnd_close_peer_conns_locked(kib_peer_t *peer, int why);
|
|
|
|
|
|
void kiblnd_connreq_done(kib_conn_t *conn, int status);
|
|
|
-kib_conn_t *kiblnd_create_conn (kib_peer_t *peer, struct rdma_cm_id *cmid,
|
|
|
+kib_conn_t *kiblnd_create_conn(kib_peer_t *peer, struct rdma_cm_id *cmid,
|
|
|
int state, int version);
|
|
|
-void kiblnd_destroy_conn (kib_conn_t *conn);
|
|
|
-void kiblnd_close_conn (kib_conn_t *conn, int error);
|
|
|
-void kiblnd_close_conn_locked (kib_conn_t *conn, int error);
|
|
|
+void kiblnd_destroy_conn(kib_conn_t *conn);
|
|
|
+void kiblnd_close_conn(kib_conn_t *conn, int error);
|
|
|
+void kiblnd_close_conn_locked(kib_conn_t *conn, int error);
|
|
|
|
|
|
-int kiblnd_init_rdma (kib_conn_t *conn, kib_tx_t *tx, int type,
|
|
|
+int kiblnd_init_rdma(kib_conn_t *conn, kib_tx_t *tx, int type,
|
|
|
int nob, kib_rdma_desc_t *dstrd, __u64 dstcookie);
|
|
|
|
|
|
-void kiblnd_launch_tx (lnet_ni_t *ni, kib_tx_t *tx, lnet_nid_t nid);
|
|
|
-void kiblnd_queue_tx_locked (kib_tx_t *tx, kib_conn_t *conn);
|
|
|
-void kiblnd_queue_tx (kib_tx_t *tx, kib_conn_t *conn);
|
|
|
-void kiblnd_init_tx_msg (lnet_ni_t *ni, kib_tx_t *tx, int type, int body_nob);
|
|
|
-void kiblnd_txlist_done (lnet_ni_t *ni, struct list_head *txlist,
|
|
|
+void kiblnd_launch_tx(lnet_ni_t *ni, kib_tx_t *tx, lnet_nid_t nid);
|
|
|
+void kiblnd_queue_tx_locked(kib_tx_t *tx, kib_conn_t *conn);
|
|
|
+void kiblnd_queue_tx(kib_tx_t *tx, kib_conn_t *conn);
|
|
|
+void kiblnd_init_tx_msg(lnet_ni_t *ni, kib_tx_t *tx, int type, int body_nob);
|
|
|
+void kiblnd_txlist_done(lnet_ni_t *ni, struct list_head *txlist,
|
|
|
int status);
|
|
|
void kiblnd_check_sends (kib_conn_t *conn);
|
|
|
|
|
@@ -1036,10 +1036,10 @@ void kiblnd_qp_event(struct ib_event *event, void *arg);
|
|
|
void kiblnd_cq_event(struct ib_event *event, void *arg);
|
|
|
void kiblnd_cq_completion(struct ib_cq *cq, void *arg);
|
|
|
|
|
|
-void kiblnd_pack_msg (lnet_ni_t *ni, kib_msg_t *msg, int version,
|
|
|
+void kiblnd_pack_msg(lnet_ni_t *ni, kib_msg_t *msg, int version,
|
|
|
int credits, lnet_nid_t dstnid, __u64 dststamp);
|
|
|
int kiblnd_unpack_msg(kib_msg_t *msg, int nob);
|
|
|
-int kiblnd_post_rx (kib_rx_t *rx, int credit);
|
|
|
+int kiblnd_post_rx(kib_rx_t *rx, int credit);
|
|
|
|
|
|
int kiblnd_send(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg);
|
|
|
int kiblnd_recv(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg, int delayed,
|