Commit f8406a2f authored by D. Wythe's avatar D. Wythe Committed by Paolo Abeni

net/smc: add sysctl for smc_limit_hs

In commit 48b6190a ("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 462791bb ("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: default avatarD. Wythe <alibuda@linux.alibaba.com>
Reviewed-by: default avatarWen Gu <guwen@linux.alibaba.com>
Reviewed-by: default avatarJan Karcher <jaka@linux.ibm.com>
Link: https://patch.msgid.link/1725590135-5631-1-git-send-email-alibuda@linux.alibaba.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 0246388b
...@@ -887,9 +887,6 @@ int smc_pnet_net_init(struct net *net) ...@@ -887,9 +887,6 @@ int smc_pnet_net_init(struct net *net)
smc_pnet_create_pnetids_list(net); smc_pnet_create_pnetids_list(net);
/* disable handshake limitation by default */
net->smc.limit_smc_hs = 0;
return 0; return 0;
} }
......
...@@ -90,6 +90,15 @@ static struct ctl_table smc_table[] = { ...@@ -90,6 +90,15 @@ static struct ctl_table smc_table[] = {
.extra1 = &conns_per_lgr_min, .extra1 = &conns_per_lgr_min,
.extra2 = &conns_per_lgr_max, .extra2 = &conns_per_lgr_max,
}, },
{
.procname = "limit_smc_hs",
.data = &init_net.smc.limit_smc_hs,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_ONE,
},
}; };
int __net_init smc_sysctl_net_init(struct net *net) int __net_init smc_sysctl_net_init(struct net *net)
...@@ -121,6 +130,8 @@ int __net_init smc_sysctl_net_init(struct net *net) ...@@ -121,6 +130,8 @@ int __net_init smc_sysctl_net_init(struct net *net)
WRITE_ONCE(net->smc.sysctl_rmem, net_smc_rmem_init); WRITE_ONCE(net->smc.sysctl_rmem, net_smc_rmem_init);
net->smc.sysctl_max_links_per_lgr = SMC_LINKS_PER_LGR_MAX_PREFER; net->smc.sysctl_max_links_per_lgr = SMC_LINKS_PER_LGR_MAX_PREFER;
net->smc.sysctl_max_conns_per_lgr = SMC_CONN_PER_LGR_PREFER; net->smc.sysctl_max_conns_per_lgr = SMC_CONN_PER_LGR_PREFER;
/* disable handshake limitation by default */
net->smc.limit_smc_hs = 0;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment