Home
last modified time | relevance | path

Searched refs:lnk (Results 1 – 17 of 17) sorted by relevance

/net/smc/
Dsmc_wr.c455 void smc_wr_remember_qp_attr(struct smc_link *lnk) in smc_wr_remember_qp_attr() argument
457 struct ib_qp_attr *attr = &lnk->qp_attr; in smc_wr_remember_qp_attr()
462 ib_query_qp(lnk->roce_qp, attr, in smc_wr_remember_qp_attr()
482 lnk->wr_tx_cnt = min_t(size_t, SMC_WR_BUF_CNT, in smc_wr_remember_qp_attr()
483 lnk->qp_attr.cap.max_send_wr); in smc_wr_remember_qp_attr()
484 lnk->wr_rx_cnt = min_t(size_t, SMC_WR_BUF_CNT * 3, in smc_wr_remember_qp_attr()
485 lnk->qp_attr.cap.max_recv_wr); in smc_wr_remember_qp_attr()
488 static void smc_wr_init_sge(struct smc_link *lnk) in smc_wr_init_sge() argument
492 for (i = 0; i < lnk->wr_tx_cnt; i++) { in smc_wr_init_sge()
493 lnk->wr_tx_sges[i].addr = in smc_wr_init_sge()
[all …]
Dsmc_ib.c44 static int smc_ib_modify_qp_init(struct smc_link *lnk) in smc_ib_modify_qp_init() argument
51 qp_attr.port_num = lnk->ibport; in smc_ib_modify_qp_init()
54 return ib_modify_qp(lnk->roce_qp, &qp_attr, in smc_ib_modify_qp_init()
59 static int smc_ib_modify_qp_rtr(struct smc_link *lnk) in smc_ib_modify_qp_rtr() argument
68 qp_attr.path_mtu = min(lnk->path_mtu, lnk->peer_mtu); in smc_ib_modify_qp_rtr()
70 rdma_ah_set_port_num(&qp_attr.ah_attr, lnk->ibport); in smc_ib_modify_qp_rtr()
71 rdma_ah_set_grh(&qp_attr.ah_attr, NULL, 0, lnk->sgid_index, 1, 0); in smc_ib_modify_qp_rtr()
72 rdma_ah_set_dgid_raw(&qp_attr.ah_attr, lnk->peer_gid); in smc_ib_modify_qp_rtr()
73 memcpy(&qp_attr.ah_attr.roce.dmac, lnk->peer_mac, in smc_ib_modify_qp_rtr()
74 sizeof(lnk->peer_mac)); in smc_ib_modify_qp_rtr()
[all …]
Dsmc_core.c70 static void smc_ibdev_cnt_inc(struct smc_link *lnk) in smc_ibdev_cnt_inc() argument
72 atomic_inc(&lnk->smcibdev->lnk_cnt_by_port[lnk->ibport - 1]); in smc_ibdev_cnt_inc()
75 static void smc_ibdev_cnt_dec(struct smc_link *lnk) in smc_ibdev_cnt_dec() argument
77 atomic_dec(&lnk->smcibdev->lnk_cnt_by_port[lnk->ibport - 1]); in smc_ibdev_cnt_dec()
130 struct smc_link *lnk = &conn->lgr->lnk[i]; in smcr_lgr_conn_assign_link() local
132 if (lnk->state != expected || lnk->link_is_asym) in smcr_lgr_conn_assign_link()
135 conn->lnk = lnk; /* temporary, SMC server assigns link*/ in smcr_lgr_conn_assign_link()
142 lnk2 = &conn->lgr->lnk[j]; in smcr_lgr_conn_assign_link()
145 conn->lnk = lnk2; in smcr_lgr_conn_assign_link()
150 if (!conn->lnk) in smcr_lgr_conn_assign_link()
[all …]
Dsmc_ib.h69 int smc_ib_buf_map_sg(struct smc_link *lnk,
72 void smc_ib_buf_unmap_sg(struct smc_link *lnk,
75 void smc_ib_dealloc_protection_domain(struct smc_link *lnk);
76 int smc_ib_create_protection_domain(struct smc_link *lnk);
77 void smc_ib_destroy_queue_pair(struct smc_link *lnk);
78 int smc_ib_create_queue_pair(struct smc_link *lnk);
79 int smc_ib_ready_link(struct smc_link *lnk);
80 int smc_ib_modify_qp_rts(struct smc_link *lnk);
81 int smc_ib_modify_qp_reset(struct smc_link *lnk);
82 int smc_ib_modify_qp_error(struct smc_link *lnk);
[all …]
Dsmc_wr.h76 static inline void smc_wr_wakeup_tx_wait(struct smc_link *lnk) in smc_wr_wakeup_tx_wait() argument
78 wake_up_all(&lnk->wr_tx_wait); in smc_wr_wakeup_tx_wait()
81 static inline void smc_wr_wakeup_reg_wait(struct smc_link *lnk) in smc_wr_wakeup_reg_wait() argument
83 wake_up(&lnk->wr_reg_wait); in smc_wr_wakeup_reg_wait()
101 int smc_wr_create_link(struct smc_link *lnk);
102 int smc_wr_alloc_link_mem(struct smc_link *lnk);
103 void smc_wr_free_link(struct smc_link *lnk);
104 void smc_wr_free_link_mem(struct smc_link *lnk);
105 void smc_wr_remember_qp_attr(struct smc_link *lnk);
120 void smc_wr_tx_dismiss_slots(struct smc_link *lnk, u8 wr_rx_hdr_type,
Dsmc_core.h251 struct smc_link lnk[SMC_LINKS_PER_LGR_MAX]; member
362 static inline bool smc_link_usable(struct smc_link *lnk) in smc_link_usable() argument
364 if (lnk->state == SMC_LNK_UNUSED || lnk->state == SMC_LNK_INACTIVE) in smc_link_usable()
369 static inline bool smc_link_sendable(struct smc_link *lnk) in smc_link_sendable() argument
371 return smc_link_usable(lnk) && in smc_link_sendable()
372 lnk->qp_attr.cur_qp_state == IB_QPS_RTS; in smc_link_sendable()
375 static inline bool smc_link_active(struct smc_link *lnk) in smc_link_active() argument
377 return lnk->state == SMC_LNK_ACTIVE; in smc_link_active()
434 int smc_rtoken_add(struct smc_link *lnk, __be64 nw_vaddr, __be32 nw_rkey);
435 int smc_rtoken_delete(struct smc_link *lnk, __be32 nw_rkey);
[all …]
Dsmc_diag.c150 .lnk[0].ibport = smc->conn.lnk->ibport, in __smc_diag_dump()
151 .lnk[0].link_id = smc->conn.lnk->link_id, in __smc_diag_dump()
154 memcpy(linfo.lnk[0].ibname, in __smc_diag_dump()
155 smc->conn.lgr->lnk[0].smcibdev->ibdev->name, in __smc_diag_dump()
156 sizeof(smc->conn.lnk->smcibdev->ibdev->name)); in __smc_diag_dump()
157 smc_gid_be16_convert(linfo.lnk[0].gid, in __smc_diag_dump()
158 smc->conn.lnk->gid); in __smc_diag_dump()
159 smc_gid_be16_convert(linfo.lnk[0].peer_gid, in __smc_diag_dump()
160 smc->conn.lnk->peer_gid); in __smc_diag_dump()
Dsmc_llc.c293 struct smc_link *lnk, in smc_llc_wait() argument
301 (lnk && !smc_link_usable(lnk)) || in smc_llc_wait()
305 (lnk && !smc_link_usable(lnk)) || list_empty(&lgr->list)) { in smc_llc_wait()
434 link = &send_link->lgr->lnk[i]; in smc_llc_send_confirm_rkey()
644 if (lgr->lnk[i].state == SMC_LNK_UNUSED) in smc_llc_alloc_alt_link()
648 if (lgr->lnk[i].state == SMC_LNK_UNUSED) in smc_llc_alloc_alt_link()
896 lnk_new = &lgr->lnk[lnk_idx]; in smc_llc_cli_add_link()
994 if (!smc_link_active(&lgr->lnk[i])) in smc_llc_active_link_count()
1012 if (!smc_link_usable(&lgr->lnk[i]) || in smc_llc_find_asym_link()
1013 !smc_link_usable(&lgr->lnk[j])) in smc_llc_find_asym_link()
[all …]
Dsmc_llc.h58 if (smc_link_usable(&lgr->lnk[i])) in smc_llc_usable_link()
59 return &lgr->lnk[i]; in smc_llc_usable_link()
72 int smc_llc_send_confirm_link(struct smc_link *lnk,
98 struct smc_link *lnk,
Dsmc_tx.c50 SMC_STAT_RMB_TX_FULL(smc, !smc->conn.lnk); in smc_tx_write_space()
161 SMC_STAT_RMB_TX_SIZE_SMALL(smc, !conn->lnk); in smc_tx_sendmsg()
164 SMC_STAT_RMB_TX_PEER_SIZE_SMALL(smc, !conn->lnk); in smc_tx_sendmsg()
285 struct smc_link *link = conn->lnk; in smc_tx_rdma_write()
325 struct smc_link *link = conn->lnk; in smcr_tx_rdma_writes()
438 SMC_STAT_RMB_TX_PEER_FULL(smc, !conn->lnk); in smc_tx_rdma_writes()
502 struct smc_link *link = conn->lnk; in smcr_tx_sndbuf_nonempty()
529 if (link != conn->lnk) { in smcr_tx_sndbuf_nonempty()
Dsmc_cdc.c105 struct smc_link *link = conn->lnk; in smc_cdc_msg_send()
137 struct smc_link *link = conn->lnk; in smcr_cdc_msg_send_validation()
172 link = conn->lnk; in smcr_cdc_get_slot_and_msg_send()
180 if (link != conn->lnk) { in smcr_cdc_get_slot_and_msg_send()
302 conn->lnk = link; in smc_cdc_msg_validate()
Dsmc_stats.h116 bool is_smcd = !__smc->conn.lnk; \
131 bool is_smcd = !__smc->conn.lnk; \
221 bool is_smcd = !(__smc)->conn.lnk; \
Dsmc_rx.c310 SMC_STAT_RMB_RX_FULL(smc, !conn->lnk); in smc_rx_recvmsg()
313 SMC_STAT_RMB_RX_SIZE_SMALL(smc, !conn->lnk); in smc_rx_recvmsg()
Daf_smc.c375 if (!smc_link_active(&lgr->lnk[i])) in smcr_lgr_reg_rmbs()
377 rc = smcr_link_reg_rmb(&lgr->lnk[i], rmb_desc); in smcr_lgr_reg_rmbs()
397 struct smc_link *link = smc->conn.lnk; in smcr_clnt_conf_first_link()
935 link = smc->conn.lnk; in smc_connect_rdma()
940 struct smc_link *l = &smc->conn.lgr->lnk[i]; in smc_connect_rdma()
1434 struct smc_link *link = smc->conn.lnk; in smcr_serv_conf_first_link()
1780 if (smcr_lgr_reg_rmbs(conn->lnk, conn->rmb_desc)) in smc_listen_rdma_reg()
1858 struct smc_link *link = new_smc->conn.lnk; in smc_listen_rdma_finish()
Dsmc.h141 struct smc_link *lnk; /* assigned SMC-R link */ member
Dsmc_clc.c681 struct smc_link *link = conn->lnk; in smc_clc_send_confirm_accept()
684 link = conn->lnk; in smc_clc_send_confirm_accept()
/net/ipv6/
Dmcast.c252 struct ipv6_mc_socklist __rcu **lnk; in ipv6_sock_mc_drop() local
260 for (lnk = &np->ipv6_mc_list; in ipv6_sock_mc_drop()
261 (mc_lst = sock_dereference(*lnk, sk)) != NULL; in ipv6_sock_mc_drop()
262 lnk = &mc_lst->next) { in ipv6_sock_mc_drop()
267 *lnk = mc_lst->next; in ipv6_sock_mc_drop()