[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <304f04ad-59f5-962d-6cfe-1905cbe7440f@linux.ibm.com>
Date: Mon, 29 Aug 2022 16:48:34 +0200
From: Jan Karcher <jaka@...ux.ibm.com>
To: "D. Wythe" <alibuda@...ux.alibaba.com>, kgraul@...ux.ibm.com,
wenjia@...ux.ibm.com
Cc: kuba@...nel.org, davem@...emloft.net, netdev@...r.kernel.org,
linux-s390@...r.kernel.org, linux-rdma@...r.kernel.org
Subject: Re: [PATCH net-next v2 01/10] net/smc: remove locks
smc_client_lgr_pending and smc_server_lgr_pending
On 26.08.2022 11:51, D. Wythe wrote:
> From: "D. Wythe" <alibuda@...ux.alibaba.com>
>
> This patch attempts to remove locks named smc_client_lgr_pending and
> smc_server_lgr_pending, which aim to serialize the creation of link
> group. However, once link group existed already, those locks are
> meaningless, worse still, they make incoming connections have to be
> queued one after the other.
>
> Now, the creation of link group is no longer generated by competition,
> but allocated through following strategy.
>
> 1. Try to find a suitable link group, if successd, current connection
> is considered as NON first contact connection. ends.
>
> 2. Check the number of connections currently waiting for a suitable
> link group to be created, if it is not less that the number of link
> groups to be created multiplied by (SMC_RMBS_PER_LGR_MAX - 1), then
> increase the number of link groups to be created, current connection
> is considered as the first contact connection. ends.
>
> 3. Increase the number of connections currently waiting, and wait
> for woken up.
>
> 4. Decrease the number of connections currently waiting, goto 1.
>
> We wake up the connection that was put to sleep in stage 3 through
> the SMC link state change event. Once the link moves out of the
> SMC_LNK_ACTIVATING state, decrease the number of link groups to
> be created, and then wake up at most (SMC_RMBS_PER_LGR_MAX - 1)
> connections.
>
> In the iplementation, we introduce the concept of lnk cluster, which is
> a collection of links with the same characteristics (see
> smcr_lnk_cluster_cmpfn() with more details), which makes it possible to
> wake up efficiently in the scenario of N v.s 1.
>
> Signed-off-by: D. Wythe <alibuda@...ux.alibaba.com>
> ---
> net/smc/af_smc.c | 13 +-
> net/smc/smc_core.c | 352 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
> net/smc/smc_core.h | 53 ++++++++
> net/smc/smc_llc.c | 9 +-
> 4 files changed, 411 insertions(+), 16 deletions(-)
Thank you for the v2.
I'm going to start testing and give you feedback ASAP.
- Jan
Powered by blists - more mailing lists