/kernel/linux/linux-6.6/net/smc/ |
H A D | smc_rx.c | 67 smc_curs_add(conn->rmb_desc->len, &cons, len); in smc_rx_update_consumer() 71 diff = smc_curs_comp(conn->rmb_desc->len, &cons, in smc_rx_update_consumer() 83 smc_curs_add(conn->rmb_desc->len, &cons, 1); in smc_rx_update_consumer() 161 nr_pages = !lgr->is_smcd && smc->conn.rmb_desc->is_vm ? in smc_rx_splice() 180 (!lgr->is_smcd && !smc->conn.rmb_desc->is_vm)) { in smc_rx_splice() 184 partial[0].offset = src - (char *)smc->conn.rmb_desc->cpu_addr; in smc_rx_splice() 187 pages[0] = smc->conn.rmb_desc->pages; in smc_rx_splice() 215 if (!lgr->is_smcd && smc->conn.rmb_desc->is_vm) { in smc_rx_splice() 219 get_page(smc->conn.rmb_desc->pages); in smc_rx_splice() 304 if (smc_curs_diff(conn->rmb_desc in smc_rx_recv_urg() [all...] |
H A D | smc_llc.h | 97 struct smc_buf_desc *rmb_desc); 99 struct smc_buf_desc *rmb_desc);
|
H A D | smc_tx.c | 723 int sender_free = conn->rmb_desc->len; in smc_tx_consumer_update() 728 to_confirm = smc_curs_diff(conn->rmb_desc->len, &cfed, &cons); in smc_tx_consumer_update() 731 sender_free = conn->rmb_desc->len - in smc_tx_consumer_update() 732 smc_curs_diff_large(conn->rmb_desc->len, in smc_tx_consumer_update() 739 ((sender_free <= (conn->rmb_desc->len / 2)) || in smc_tx_consumer_update()
|
H A D | smc_diag.c | 112 .rmbe_size = conn->rmb_desc ? conn->rmb_desc->len : 0, in __smc_diag_dump() 166 !list_empty(&smc->conn.lgr->list) && smc->conn.rmb_desc) { in __smc_diag_dump() 176 dinfo.token = conn->rmb_desc->token; in __smc_diag_dump()
|
H A D | smc_cdc.c | 291 base = (char *)conn->rmb_desc->cpu_addr + conn->rx_off; in smc_cdc_handle_urg_data_arrival() 295 conn->urg_rx_byte = *(base + conn->rmb_desc->len - 1); in smc_cdc_handle_urg_data_arrival() 344 diff_prod = smc_curs_diff(conn->rmb_desc->len, &prod_old, in smc_cdc_msg_recv_action() 352 /* guarantee 0 <= bytes_to_rcv <= rmb_desc->len */ in smc_cdc_msg_recv_action() 420 data_cdc = (struct smcd_cdc_msg *)conn->rmb_desc->cpu_addr; in smcd_cdc_rx_tsklet()
|
H A D | smc_llc.c | 488 struct smc_buf_desc *rmb_desc) in smc_llc_send_confirm_rkey() 512 htonl(rmb_desc->mr[link->link_idx]->rkey); in smc_llc_send_confirm_rkey() 513 rkeyllc->rtoken[rtok_ix].rmb_vaddr = rmb_desc->is_vm ? in smc_llc_send_confirm_rkey() 514 cpu_to_be64((uintptr_t)rmb_desc->cpu_addr) : in smc_llc_send_confirm_rkey() 516 (rmb_desc->sgt[link->link_idx].sgl)); in smc_llc_send_confirm_rkey() 523 htonl(rmb_desc->mr[send_link->link_idx]->rkey); in smc_llc_send_confirm_rkey() 524 rkeyllc->rtoken[0].rmb_vaddr = rmb_desc->is_vm ? in smc_llc_send_confirm_rkey() 525 cpu_to_be64((uintptr_t)rmb_desc->cpu_addr) : in smc_llc_send_confirm_rkey() 527 (rmb_desc->sgt[send_link->link_idx].sgl)); in smc_llc_send_confirm_rkey() 537 struct smc_buf_desc *rmb_desc) in smc_llc_send_delete_rkey() 487 smc_llc_send_confirm_rkey(struct smc_link *send_link, struct smc_buf_desc *rmb_desc) smc_llc_send_confirm_rkey() argument 536 smc_llc_send_delete_rkey(struct smc_link *link, struct smc_buf_desc *rmb_desc) smc_llc_send_delete_rkey() argument 2208 smc_llc_do_confirm_rkey(struct smc_link *send_link, struct smc_buf_desc *rmb_desc) smc_llc_do_confirm_rkey() argument 2230 smc_llc_do_delete_rkey(struct smc_link_group *lgr, struct smc_buf_desc *rmb_desc) smc_llc_do_delete_rkey() argument [all...] |
H A D | smc_ism.c | 78 conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = conn; in smc_ism_set_conn() 87 if (!conn->rmb_desc) in smc_ism_unset_conn() 91 conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = NULL; in smc_ism_unset_conn()
|
H A D | smc_clc.c | 1036 clc->d0.token = htonll(conn->rmb_desc->token); in smc_clc_send_confirm_accept() 1070 htonl(conn->rmb_desc->mr[link->link_idx]->rkey); in smc_clc_send_confirm_accept() 1082 clc->r0.rmb_dma_addr = conn->rmb_desc->is_vm ? in smc_clc_send_confirm_accept() 1083 cpu_to_be64((uintptr_t)conn->rmb_desc->cpu_addr) : in smc_clc_send_confirm_accept() 1085 (conn->rmb_desc->sgt[link->link_idx].sgl)); in smc_clc_send_confirm_accept()
|
H A D | af_smc.c | 547 struct smc_buf_desc *rmb_desc) in smcr_lgr_reg_rmbs() 561 if (!rmb_desc->is_reg_mr[link->link_idx]) { in smcr_lgr_reg_rmbs() 577 rc = smcr_link_reg_buf(&lgr->lnk[i], rmb_desc); in smcr_lgr_reg_rmbs() 583 rc = smc_llc_do_confirm_rkey(link, rmb_desc); in smcr_lgr_reg_rmbs() 588 rmb_desc->is_conf_rkey = true; in smcr_lgr_reg_rmbs() 634 if (smcr_link_reg_buf(link, smc->conn.rmb_desc)) in smcr_clnt_conf_first_link() 638 smc->conn.rmb_desc->is_conf_rkey = true; in smcr_clnt_conf_first_link() 1323 if (smcr_lgr_reg_rmbs(link, smc->conn.rmb_desc)) { in smc_connect_rdma() 1868 if (smcr_link_reg_buf(link, smc->conn.rmb_desc)) in smcr_serv_conf_first_link() 1893 smc->conn.rmb_desc in smcr_serv_conf_first_link() 546 smcr_lgr_reg_rmbs(struct smc_link *link, struct smc_buf_desc *rmb_desc) smcr_lgr_reg_rmbs() argument [all...] |
H A D | smc_core.c | 1153 if (conn->rmb_desc) { in smc_buf_unuse() 1155 smcr_buf_unuse(conn->rmb_desc, true, lgr); in smc_buf_unuse() 1157 memzero_explicit(conn->rmb_desc->cpu_addr, in smc_buf_unuse() 1158 conn->rmb_desc->len + sizeof(struct smcd_cdc_msg)); in smc_buf_unuse() 1159 WRITE_ONCE(conn->rmb_desc->used, 0); in smc_buf_unuse() 2391 conn->rmb_desc = buf_desc; in __smc_buf_create() 2421 if (!conn->rmb_desc->is_dma_need_sync) in smc_rmb_sync_sg_for_cpu() 2428 smc_ib_sync_sg_for_cpu(&conn->lgr->lnk[i], conn->rmb_desc, in smc_rmb_sync_sg_for_cpu()
|
H A D | smc.h | 166 struct smc_buf_desc *rmb_desc; /* RMBE descriptor */ member
|
H A D | smc_core.h | 582 int smcr_link_reg_buf(struct smc_link *link, struct smc_buf_desc *rmb_desc);
|
/kernel/linux/linux-5.10/net/smc/ |
H A D | smc_rx.c | 61 smc_curs_add(conn->rmb_desc->len, &cons, len); in smc_rx_update_consumer() 65 diff = smc_curs_comp(conn->rmb_desc->len, &cons, in smc_rx_update_consumer() 77 smc_curs_add(conn->rmb_desc->len, &cons, 1); in smc_rx_update_consumer() 156 partial.offset = src - (char *)smc->conn.rmb_desc->cpu_addr; in smc_rx_splice() 162 spd.pages = &smc->conn.rmb_desc->pages; in smc_rx_splice() 170 get_page(smc->conn.rmb_desc->pages); in smc_rx_splice() 239 if (smc_curs_diff(conn->rmb_desc->len, &cons, in smc_rx_recv_urg() 307 rcvbuf_base = conn->rx_off + conn->rmb_desc->cpu_addr; in smc_rx_recvmsg() 379 smc_curs_add(conn->rmb_desc->len, &cons, splbytes); in smc_rx_recvmsg() 388 chunk_len = min_t(size_t, copylen, conn->rmb_desc in smc_rx_recvmsg() [all...] |
H A D | smc_core.c | 607 static void smcr_buf_unuse(struct smc_buf_desc *rmb_desc, in smcr_buf_unuse() argument 612 if (rmb_desc->is_conf_rkey && !list_empty(&lgr->list)) { in smcr_buf_unuse() 618 smc_llc_do_delete_rkey(lgr, rmb_desc); in smcr_buf_unuse() 619 rmb_desc->is_conf_rkey = false; in smcr_buf_unuse() 625 if (rmb_desc->is_reg_err) { in smcr_buf_unuse() 628 list_del(&rmb_desc->list); in smcr_buf_unuse() 631 smc_buf_free(lgr, true, rmb_desc); in smcr_buf_unuse() 633 rmb_desc->used = 0; in smcr_buf_unuse() 642 if (conn->rmb_desc && lgr->is_smcd) in smc_buf_unuse() 643 conn->rmb_desc in smc_buf_unuse() 1482 smcr_link_reg_rmb(struct smc_link *link, struct smc_buf_desc *rmb_desc) smcr_link_reg_rmb() argument [all...] |
H A D | smc_llc.h | 87 struct smc_buf_desc *rmb_desc); 89 struct smc_buf_desc *rmb_desc);
|
H A D | smc_tx.c | 607 int sender_free = conn->rmb_desc->len; in smc_tx_consumer_update() 612 to_confirm = smc_curs_diff(conn->rmb_desc->len, &cfed, &cons); in smc_tx_consumer_update() 615 sender_free = conn->rmb_desc->len - in smc_tx_consumer_update() 616 smc_curs_diff_large(conn->rmb_desc->len, in smc_tx_consumer_update() 623 ((sender_free <= (conn->rmb_desc->len / 2)) || in smc_tx_consumer_update()
|
H A D | smc_diag.c | 125 .rmbe_size = conn->rmb_desc ? conn->rmb_desc->len : 0, in __smc_diag_dump() 180 !list_empty(&smc->conn.lgr->list) && smc->conn.rmb_desc) { in __smc_diag_dump() 189 dinfo.token = conn->rmb_desc->token; in __smc_diag_dump()
|
H A D | smc_cdc.c | 280 base = (char *)conn->rmb_desc->cpu_addr + conn->rx_off; in smc_cdc_handle_urg_data_arrival() 284 conn->urg_rx_byte = *(base + conn->rmb_desc->len - 1); in smc_cdc_handle_urg_data_arrival() 333 diff_prod = smc_curs_diff(conn->rmb_desc->len, &prod_old, in smc_cdc_msg_recv_action() 341 /* guarantee 0 <= bytes_to_rcv <= rmb_desc->len */ in smc_cdc_msg_recv_action() 405 data_cdc = (struct smcd_cdc_msg *)conn->rmb_desc->cpu_addr; in smcd_cdc_rx_tsklet()
|
H A D | smc_llc.c | 414 struct smc_buf_desc *rmb_desc) in smc_llc_send_confirm_rkey() 438 htonl(rmb_desc->mr_rx[link->link_idx]->rkey); in smc_llc_send_confirm_rkey() 441 rmb_desc->sgt[link->link_idx].sgl)); in smc_llc_send_confirm_rkey() 448 htonl(rmb_desc->mr_rx[send_link->link_idx]->rkey); in smc_llc_send_confirm_rkey() 450 (u64)sg_dma_address(rmb_desc->sgt[send_link->link_idx].sgl)); in smc_llc_send_confirm_rkey() 460 struct smc_buf_desc *rmb_desc) in smc_llc_send_delete_rkey() 477 rkeyllc->rkey[0] = htonl(rmb_desc->mr_rx[link->link_idx]->rkey); in smc_llc_send_delete_rkey() 1847 struct smc_buf_desc *rmb_desc) in smc_llc_do_confirm_rkey() 1853 rc = smc_llc_send_confirm_rkey(send_link, rmb_desc); in smc_llc_do_confirm_rkey() 1869 struct smc_buf_desc *rmb_desc) in smc_llc_do_delete_rkey() 413 smc_llc_send_confirm_rkey(struct smc_link *send_link, struct smc_buf_desc *rmb_desc) smc_llc_send_confirm_rkey() argument 459 smc_llc_send_delete_rkey(struct smc_link *link, struct smc_buf_desc *rmb_desc) smc_llc_send_delete_rkey() argument 1846 smc_llc_do_confirm_rkey(struct smc_link *send_link, struct smc_buf_desc *rmb_desc) smc_llc_do_confirm_rkey() argument 1868 smc_llc_do_delete_rkey(struct smc_link_group *lgr, struct smc_buf_desc *rmb_desc) smc_llc_do_delete_rkey() argument [all...] |
H A D | smc_ism.c | 60 conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = conn; in smc_ism_set_conn() 69 if (!conn->rmb_desc) in smc_ism_unset_conn() 73 conn->lgr->smcd->conn[conn->rmb_desc->sba_idx] = NULL; in smc_ism_unset_conn()
|
H A D | af_smc.c | 360 struct smc_buf_desc *rmb_desc) in smcr_lgr_reg_rmbs() 375 rc = smcr_link_reg_rmb(&lgr->lnk[i], rmb_desc); in smcr_lgr_reg_rmbs() 381 rc = smc_llc_do_confirm_rkey(link, rmb_desc); in smcr_lgr_reg_rmbs() 386 rmb_desc->is_conf_rkey = true; in smcr_lgr_reg_rmbs() 425 if (smcr_link_reg_rmb(link, smc->conn.rmb_desc)) in smcr_clnt_conf_first_link() 429 smc->conn.rmb_desc->is_conf_rkey = true; in smcr_clnt_conf_first_link() 816 if (smcr_lgr_reg_rmbs(link, smc->conn.rmb_desc)) { in smc_connect_rdma() 1273 if (smcr_link_reg_rmb(link, smc->conn.rmb_desc)) in smcr_serv_conf_first_link() 1298 smc->conn.rmb_desc->is_conf_rkey = true; in smcr_serv_conf_first_link() 1602 if (smcr_lgr_reg_rmbs(conn->lnk, conn->rmb_desc)) in smc_listen_rdma_reg() 359 smcr_lgr_reg_rmbs(struct smc_link *link, struct smc_buf_desc *rmb_desc) smcr_lgr_reg_rmbs() argument [all...] |
H A D | smc.h | 145 struct smc_buf_desc *rmb_desc; /* RMBE descriptor */ member
|
H A D | smc_clc.c | 660 clc->d0.token = conn->rmb_desc->token; in smc_clc_send_confirm_accept() 696 htonl(conn->rmb_desc->mr_rx[link->link_idx]->rkey); in smc_clc_send_confirm_accept() 709 (conn->rmb_desc->sgt[link->link_idx].sgl)); in smc_clc_send_confirm_accept()
|
H A D | smc_core.h | 415 int smcr_link_reg_rmb(struct smc_link *link, struct smc_buf_desc *rmb_desc);
|