Skip to content

Commit f8406a2

Browse files
D-WythePaolo Abeni
authored andcommitted
net/smc: add sysctl for smc_limit_hs
In commit 48b6190 ("net/smc: Limit SMC visits when handshake workqueue congested"), we introduce a mechanism to put constraint on SMC connections visit according to the pressure of SMC handshake process. At that time, we believed that controlling the feature through netlink was sufficient. However, most people have realized now that netlink is not convenient in container scenarios, and sysctl is a more suitable approach. In addition, since commit 462791b ("net/smc: add sysctl interface for SMC") had introcuded smc_sysctl_net_init(), it is reasonable for us to initialize limit_smc_hs in it instead of initializing it in smc_pnet_net_int(). Signed-off-by: D. Wythe <[email protected]> Reviewed-by: Wen Gu <[email protected]> Reviewed-by: Jan Karcher <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Paolo Abeni <[email protected]>
1 parent 0246388 commit f8406a2

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

net/smc/smc_pnet.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -887,9 +887,6 @@ int smc_pnet_net_init(struct net *net)
887887

888888
smc_pnet_create_pnetids_list(net);
889889

890-
/* disable handshake limitation by default */
891-
net->smc.limit_smc_hs = 0;
892-
893890
return 0;
894891
}
895892

net/smc/smc_sysctl.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,15 @@ static struct ctl_table smc_table[] = {
9090
.extra1 = &conns_per_lgr_min,
9191
.extra2 = &conns_per_lgr_max,
9292
},
93+
{
94+
.procname = "limit_smc_hs",
95+
.data = &init_net.smc.limit_smc_hs,
96+
.maxlen = sizeof(int),
97+
.mode = 0644,
98+
.proc_handler = proc_dointvec_minmax,
99+
.extra1 = SYSCTL_ZERO,
100+
.extra2 = SYSCTL_ONE,
101+
},
93102
};
94103

95104
int __net_init smc_sysctl_net_init(struct net *net)
@@ -121,6 +130,8 @@ int __net_init smc_sysctl_net_init(struct net *net)
121130
WRITE_ONCE(net->smc.sysctl_rmem, net_smc_rmem_init);
122131
net->smc.sysctl_max_links_per_lgr = SMC_LINKS_PER_LGR_MAX_PREFER;
123132
net->smc.sysctl_max_conns_per_lgr = SMC_CONN_PER_LGR_PREFER;
133+
/* disable handshake limitation by default */
134+
net->smc.limit_smc_hs = 0;
124135

125136
return 0;
126137

0 commit comments

Comments
 (0)