Home
last modified time | relevance | path

Searched refs:smc (Results 1 – 25 of 25) sorted by relevance

/net/smc/
A Daf_smc.c169 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 Dsmc_close.c28 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 Dsmc_rx.c63 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 Dsmc_stats.h87 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 Dsmc_cdc.c33 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 Dsmc_sysctl.c43 .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 Dsmc_tx.c50 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 Dsmc_tracepoint.h4 #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 Dsmc_diag.c37 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 Dsmc_stats.c23 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 Dsmc_core.c982 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 Dsmc_close.h22 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 DMakefile3 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 Dsmc_clc.c717 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 Dsmc.h335 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 Dsmc_sysctl.h25 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 Dsmc_rx.h20 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 Dsmc_tx.h32 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 Dsmc_clc.h447 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 Dsmc_core.h570 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 Dsmc_llc.h91 void smc_llc_lgr_init(struct smc_link_group *lgr, struct smc_sock *smc);
A Dsmc_inet.c64 struct smc_sock smc; member
A Dsmc_llc.c2146 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 DMakefile52 obj-$(CONFIG_SMC) += smc/
A DKconfig89 source "net/smc/Kconfig"

Completed in 878 milliseconds