/net/smc/ |
D | smc_wr.c | 455 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 …]
|
D | smc_ib.c | 44 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 …]
|
D | smc_core.c | 70 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 …]
|
D | smc_ib.h | 69 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 …]
|
D | smc_wr.h | 76 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,
|
D | smc_core.h | 251 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 …]
|
D | smc_diag.c | 150 .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()
|
D | smc_llc.c | 293 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 …]
|
D | smc_llc.h | 58 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,
|
D | smc_tx.c | 50 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()
|
D | smc_cdc.c | 105 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()
|
D | smc_stats.h | 116 bool is_smcd = !__smc->conn.lnk; \ 131 bool is_smcd = !__smc->conn.lnk; \ 221 bool is_smcd = !(__smc)->conn.lnk; \
|
D | smc_rx.c | 310 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()
|
D | af_smc.c | 375 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()
|
D | smc.h | 141 struct smc_link *lnk; /* assigned SMC-R link */ member
|
D | smc_clc.c | 681 struct smc_link *link = conn->lnk; in smc_clc_send_confirm_accept() 684 link = conn->lnk; in smc_clc_send_confirm_accept()
|
/net/ipv6/ |
D | mcast.c | 252 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()
|