lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8a829adf-2833-4b4d-a690-5fff52967e35@linux.ibm.com>
Date: Mon, 26 Aug 2024 21:14:34 +0200
From: Jan Karcher <jaka@...ux.ibm.com>
To: "D. Wythe" <alibuda@...ux.alibaba.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 26/08/2024 05:02, D. Wythe wrote:
> 
> 
> 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

Hi D.,

thanks for the pointer! If i understood Jakub correct it should be 
possible to add a yaml definition for the SMC netlink anbd modify it vie 
a small program.

That said I'm not to familia with the use of them in containers. So if 
you say this is the better solution and everyone is fine with yet 
another sysctl it is fine by me.

Thanks
- Jan

> 
> 
> 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

Powered by Openwall GNU/*/Linux Powered by OpenVZ