| /net/smc/ |
| A D | af_smc.c | 169 if (!smc) in smc_hs_congested() 402 smc->limit_smc_hs = net->smc.limit_smc_hs; in smc_sk_init() 857 if (smc) in smc_fback_state_change() 869 if (smc) in smc_fback_data_ready() 881 if (smc) in smc_fback_write_space() 893 if (smc) in smc_fback_error_report() 933 smc->clcsock->file = smc->sk.sk_socket->file; in smc_switch_to_fallback() 1609 smc->sk.sk_err = smc->clcsock->sk->sk_err; in smc_connect_work() 1639 smc->sk.sk_state_change(&smc->sk); in smc_connect_work() 1642 smc->sk.sk_write_space(&smc->sk); in smc_connect_work() [all …]
|
| A D | smc_close.c | 28 if (smc->listen_smc && current_work() != &smc->smc_listen_work) in smc_clcsock_release() 31 if (smc->clcsock) { in smc_clcsock_release() 32 tcp = smc->clcsock; in smc_clcsock_release() 33 smc->clcsock = NULL; in smc_clcsock_release() 72 smc->conn.killed, in smc_close_stream_wait() 85 smc->sk.sk_state_change(&smc->sk); in smc_close_wake_tx_prepared() 133 if (sk->sk_state != SMC_INIT && smc->clcsock && smc->clcsock->sk) { in smc_close_active_abort() 135 if (smc->clcsock && smc->clcsock->sk) in smc_close_active_abort() 217 if (smc->clcsock && smc->clcsock->sk) { in smc_close_active() 243 if (smc->clcsock && smc->clcsock->sk) { in smc_close_active() [all …]
|
| A D | smc_rx.c | 63 struct sock *sk = &smc->sk; in smc_rx_update_consumer() 110 struct smc_sock *smc; member 118 struct smc_sock *smc = priv->smc; in smc_rx_pipe_buf_release() local 120 struct sock *sk = &smc->sk; in smc_rx_pipe_buf_release() 126 conn = &smc->conn; in smc_rx_pipe_buf_release() 150 struct smc_sock *smc) in smc_rx_splice() argument 183 priv[0]->smc = smc; in smc_rx_splice() 195 priv[i]->smc = smc; in smc_rx_splice() 214 sock_hold(&smc->sk); in smc_rx_splice() 364 sk = &smc->sk; in smc_rx_recvmsg() [all …]
|
| A D | smc_stats.h | 87 struct smc_stats_tech smc[2]; member 100 this_cpu_inc((*stats).smc[t].key ## _cnt); \ 106 this_cpu_add((*stats).smc[t].key ## _bytes, r); \ 201 SMC_STAT_RMB(smc, reuse, is_smcd, is_rx) 204 SMC_STAT_RMB(smc, alloc, is_smcd, is_rx) 207 SMC_STAT_RMB(smc, dgrade, is_smcd, is_rx) 212 #define SMC_STAT_RMB_TX_FULL(smc, is_smcd) \ argument 213 SMC_STAT_RMB(smc, buf_full, is_smcd, false) 224 #define SMC_STAT_RMB_RX_FULL(smc, is_smcd) \ argument 225 SMC_STAT_RMB(smc, buf_full, is_smcd, true) [all …]
|
| A D | smc_cdc.c | 33 struct smc_sock *smc; in smc_cdc_tx_handler() local 38 bh_lock_sock(&smc->sk); in smc_cdc_tx_handler() 326 sock_put(&smc->sk); in smc_cdc_msg_validate() 386 smc->sk.sk_data_ready(&smc->sk); in smc_cdc_msg_recv_action() 389 smc->sk.sk_data_ready(&smc->sk); in smc_cdc_msg_recv_action() 408 smc->sk.sk_write_space(&smc->sk); in smc_cdc_msg_recv_action() 417 if (smc->clcsock && smc->clcsock->sk) in smc_cdc_msg_recv_action() 422 sock_put(&smc->sk); in smc_cdc_msg_recv_action() 429 sock_hold(&smc->sk); in smc_cdc_msg_recv() 447 struct smc_sock *smc; in smcd_cdc_rx_tsklet() local [all …]
|
| A D | smc_sysctl.c | 43 .data = &init_net.smc.sysctl_smcr_buf_type, 52 .data = &init_net.smc.sysctl_smcr_testlink_time, 59 .data = &init_net.smc.sysctl_wmem, 68 .data = &init_net.smc.sysctl_rmem, 77 .data = &init_net.smc.sysctl_max_links_per_lgr, 86 .data = &init_net.smc.sysctl_max_conns_per_lgr, 95 .data = &init_net.smc.limit_smc_hs, 123 if (!net->smc.smc_hdr) in smc_sysctl_net_init() 134 net->smc.limit_smc_hs = 0; in smc_sysctl_net_init() 149 table = net->smc.smc_hdr->ctl_table_arg; in smc_sysctl_net_exit() [all …]
|
| A D | smc_tx.c | 50 SMC_STAT_RMB_TX_FULL(smc, !smc->conn.lnk); in smc_tx_write_space() 69 if (smc->sk.sk_socket && in smc_tx_sndbuf_nonfull() 71 smc->sk.sk_write_space(&smc->sk); in smc_tx_sndbuf_nonfull() 81 struct sock *sk = &smc->sk; in smc_tx_wait() 151 sock_net(&smc->sk)->smc.sysctl_autocorking_size); in smc_should_autocork() 163 if (smc_should_autocork(smc)) in smc_tx_should_cork() 187 struct sock *sk = &smc->sk; in smc_tx_sendmsg() 562 struct smc_sock *smc = in smcr_tx_sndbuf_nonempty() local 667 if (smc->sk.sk_err) in smc_tx_pending() 687 lock_sock(&smc->sk); in smc_tx_work() [all …]
|
| A D | smc_tracepoint.h | 4 #define TRACE_SYSTEM smc 20 TP_ARGS(smc, fallback_rsn), 30 const struct sock *sk = &smc->sk; 48 TP_ARGS(smc, len), 51 __field(const void *, smc) 54 __string(name, smc->conn.lnk->ibname) 58 const struct sock *sk = &smc->sk; 60 __entry->smc = smc; 67 __entry->smc, __entry->net_cookie, 75 TP_ARGS(smc, len) [all …]
|
| A D | smc_diag.c | 37 struct smc_sock *smc = smc_sk(sk); in smc_diag_msg_common_fill() local 42 if (!smc->clcsock) in smc_diag_msg_common_fill() 77 struct smc_sock *smc = smc_sk(sk); in __smc_diag_dump() local 91 if (smc->use_fallback) in __smc_diag_dump() 93 else if (smc_conn_lgr_valid(&smc->conn) && smc->conn.lgr->is_smcd) in __smc_diag_dump() 101 fallback.reason = smc->fallback_rsn; in __smc_diag_dump() 107 smc->conn.alert_token_local) { in __smc_diag_dump() 146 if (smc_conn_lgr_valid(&smc->conn) && !smc->conn.lgr->is_smcd && in __smc_diag_dump() 152 .role = smc->conn.lgr->role, in __smc_diag_dump() 165 if (smc_conn_lgr_valid(&smc->conn) && smc->conn.lgr->is_smcd && in __smc_diag_dump() [all …]
|
| A D | smc_stats.c | 23 net->smc.fback_rsn = kzalloc(sizeof(*net->smc.fback_rsn), GFP_KERNEL); in smc_stats_init() 24 if (!net->smc.fback_rsn) in smc_stats_init() 27 if (!net->smc.smc_stats) in smc_stats_init() 29 mutex_init(&net->smc.mutex_fback_rsn); in smc_stats_init() 33 kfree(net->smc.fback_rsn); in smc_stats_init() 40 kfree(net->smc.fback_rsn); in smc_stats_exit() 41 if (net->smc.smc_stats) in smc_stats_exit() 42 free_percpu(net->smc.smc_stats); in smc_stats_exit() 106 stats_pload = &stats->smc[tech].tx_pd; in smc_nl_fill_stats_bufsize_data() 108 stats_pload = &stats->smc[tech].rx_pd; in smc_nl_fill_stats_bufsize_data() [all …]
|
| A D | smc_core.c | 982 smc->conn.lgr = lgr; in smc_lgr_create() 1060 smc->sk.sk_data_ready(&smc->sk); in smc_switch_cursor() 1088 struct smc_sock *smc; in smc_switch_conns() local 1133 sock_hold(&smc->sk); in smc_switch_conns() 1144 sock_put(&smc->sk); in smc_switch_conns() 1495 smc->sk.sk_write_space(&smc->sk); in smc_sk_wake_ups() 1496 smc->sk.sk_data_ready(&smc->sk); in smc_sk_wake_ups() 1497 smc->sk.sk_state_change(&smc->sk); in smc_sk_wake_ups() 1511 smc_sk_wake_ups(smc); in smc_conn_kill() 1737 lock_sock(&smc->sk); in smc_conn_abort_work() [all …]
|
| A D | smc_close.h | 22 void smc_close_wake_tx_prepared(struct smc_sock *smc); 23 int smc_close_active(struct smc_sock *smc); 24 int smc_close_shutdown_write(struct smc_sock *smc); 25 void smc_close_init(struct smc_sock *smc); 26 void smc_clcsock_release(struct smc_sock *smc); 28 void smc_close_active_abort(struct smc_sock *smc);
|
| A D | Makefile | 3 obj-$(CONFIG_SMC) += smc.o 5 smc-y := af_smc.o smc_pnet.o smc_ib.o smc_clc.o smc_core.o smc_wr.o smc_llc.o 6 smc-y += smc_cdc.o smc_tx.o smc_rx.o smc_close.o smc_ism.o smc_netlink.o smc_stats.o 7 smc-y += smc_tracepoint.o smc_inet.o 8 smc-$(CONFIG_SYSCTL) += smc_sysctl.o 9 smc-$(CONFIG_SMC_LO) += smc_loopback.o
|
| A D | smc_clc.c | 717 smc->sk.sk_err = EINTR; in smc_clc_wait_msg() 730 smc->sk.sk_err = ECONNRESET; in smc_clc_wait_msg() 736 smc->sk.sk_err = -len; in smc_clc_wait_msg() 745 smc->sk.sk_err = EPROTO; in smc_clc_wait_msg() 762 smc->sk.sk_err = EPROTO; in smc_clc_wait_msg() 778 smc->sk.sk_err = EPROTO; in smc_clc_wait_msg() 792 smc->conn.lgr->sync_err = 1; in smc_clc_wait_msg() 819 if ((!smc_conn_lgr_valid(&smc->conn) || !smc->conn.lgr->is_smcd) && in smc_clc_send_decline() 1033 smc->sk.sk_err = smc->clcsock->sk->sk_err; in smc_clc_send_proposal() 1034 reason_code = -smc->sk.sk_err; in smc_clc_send_proposal() [all …]
|
| A D | smc.h | 335 static inline void smc_init_saved_callbacks(struct smc_sock *smc) in smc_init_saved_callbacks() argument 337 smc->clcsk_state_change = NULL; in smc_init_saved_callbacks() 338 smc->clcsk_data_ready = NULL; in smc_init_saved_callbacks() 339 smc->clcsk_write_space = NULL; in smc_init_saved_callbacks() 340 smc->clcsk_error_report = NULL; in smc_init_saved_callbacks() 399 static inline bool using_ipsec(struct smc_sock *smc) in using_ipsec() argument 401 return (smc->clcsock->sk->sk_policy[0] || in using_ipsec() 402 smc->clcsock->sk->sk_policy[1]) ? true : false; in using_ipsec() 405 static inline bool using_ipsec(struct smc_sock *smc) in using_ipsec() argument
|
| A D | smc_sysctl.h | 25 net->smc.sysctl_autocorking_size = SMC_AUTOCORKING_DEFAULT_SIZE; in smc_sysctl_net_init() 26 net->smc.sysctl_max_links_per_lgr = SMC_LINKS_PER_LGR_MAX_PREFER; in smc_sysctl_net_init() 27 net->smc.sysctl_max_conns_per_lgr = SMC_CONN_PER_LGR_PREFER; in smc_sysctl_net_init()
|
| A D | smc_rx.h | 20 void smc_rx_init(struct smc_sock *smc); 22 int smc_rx_recvmsg(struct smc_sock *smc, struct msghdr *msg, 24 int smc_rx_wait(struct smc_sock *smc, long *timeo, size_t peeked,
|
| A D | smc_tx.h | 32 void smc_tx_init(struct smc_sock *smc); 33 int smc_tx_sendmsg(struct smc_sock *smc, struct msghdr *msg, size_t len); 35 void smc_tx_sndbuf_nonfull(struct smc_sock *smc);
|
| A D | smc_clc.h | 447 int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen, 449 int smc_clc_send_decline(struct smc_sock *smc, u32 peer_diag_info, u8 version); 450 int smc_clc_send_proposal(struct smc_sock *smc, struct smc_init_info *ini); 451 int smc_clc_send_confirm(struct smc_sock *smc, bool clnt_first_contact, 453 int smc_clc_send_accept(struct smc_sock *smc, bool srv_first_contact, 455 int smc_clc_srv_v2x_features_validate(struct smc_sock *smc,
|
| A D | smc_core.h | 570 int smc_buf_create(struct smc_sock *smc, bool is_smcd); 571 int smcd_buf_attach(struct smc_sock *smc); 586 int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini);
|
| A D | smc_llc.h | 91 void smc_llc_lgr_init(struct smc_link_group *lgr, struct smc_sock *smc);
|
| A D | smc_inet.c | 64 struct smc_sock smc; member
|
| A D | smc_llc.c | 2146 void smc_llc_lgr_init(struct smc_link_group *lgr, struct smc_sock *smc) in smc_llc_lgr_init() argument 2148 struct net *net = sock_net(smc->clcsock->sk); in smc_llc_lgr_init() 2159 lgr->llc_testlink_time = READ_ONCE(net->smc.sysctl_smcr_testlink_time); in smc_llc_lgr_init()
|
| /net/ |
| A D | Makefile | 52 obj-$(CONFIG_SMC) += smc/
|
| A D | Kconfig | 89 source "net/smc/Kconfig"
|