[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <905874a4-c000-4845-8fac-3fc4b79f43fd@linux.alibaba.com>
Date: Mon, 26 Aug 2024 11:02:14 +0800
From: "D. Wythe" <alibuda@...ux.alibaba.com>
To: Jan Karcher <jaka@...ux.ibm.com>, kgraul@...ux.ibm.com,
wenjia@...ux.ibm.com, wintera@...ux.ibm.com, guwen@...ux.alibaba.com
Cc: kuba@...nel.org, davem@...emloft.net, netdev@...r.kernel.org,
linux-s390@...r.kernel.org, linux-rdma@...r.kernel.org,
tonylu@...ux.alibaba.com, pabeni@...hat.com, edumazet@...gle.com
Subject: Re: [PATCH net-next v2] net/smc: add sysctl for smc_limit_hs
On 8/21/24 4:03 PM, Jan Karcher wrote:
>
>
> On 21/08/2024 04:36, D. Wythe wrote:
>> From: "D. Wythe" <alibuda@...ux.alibaba.com>
>>
>> In commit 48b6190a0042 ("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.
>
> Hi D.
>
> thanks for your contribution.
> What i wonder is should we prefer the use of netlink > sysctl or not?
> To the upstream maintainers: Is there a prefernce for the net tree?
>
> My impression from past discussions is that netlink should be chosen
> over sysctl.
> If so, why is it inconvenient to use netlink in containers?
> Can this be changed?
>
> Other then the general discussion the changhes look good to me.
>
> Reviewed-by: Jan Karcher <jaka@...ux.ibm.com>
>
Hi Jan,
I noticed that there have been relevant discussions before, perhaps this
will be helpful to you.
Link: https://lore.kernel.org/netdev/20220224020253.GF5443@linux.alibaba.com
Best wishes,
D. Wythe
>
>>
>> In addition, since commit 462791bbfa35 ("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 <alibuda@...ux.alibaba.com>
>> ---
>> v1 -> v2:
>>
>> Modified the description in the commit and removed the incorrect
>> spelling.
>>
>> net/smc/smc_pnet.c | 3 ---
>> net/smc/smc_sysctl.c | 11 +++++++++++
>> 2 files changed, 11 insertions(+), 3 deletions(-)
>>
>> diff --git a/net/smc/smc_pnet.c b/net/smc/smc_pnet.c
>> index 2adb92b..1dd3623 100644
>> --- a/net/smc/smc_pnet.c
>> +++ b/net/smc/smc_pnet.c
>> @@ -887,9 +887,6 @@ int smc_pnet_net_init(struct net *net)
>> smc_pnet_create_pnetids_list(net);
>> - /* disable handshake limitation by default */
>> - net->smc.limit_smc_hs = 0;
>> -
>> return 0;
>> }
>> diff --git a/net/smc/smc_sysctl.c b/net/smc/smc_sysctl.c
>> index 13f2bc0..2fab645 100644
>> --- a/net/smc/smc_sysctl.c
>> +++ b/net/smc/smc_sysctl.c
>> @@ -90,6 +90,15 @@
>> .extra1 = &conns_per_lgr_min,
>> .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)
>> @@ -121,6 +130,8 @@ int __net_init smc_sysctl_net_init(struct net *net)
>> 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_conns_per_lgr = SMC_CONN_PER_LGR_PREFER;
>> + /* disable handshake limitation by default */
>> + net->smc.limit_smc_hs = 0;
>> return 0;
Powered by blists - more mailing lists