Message ID | 20240528135138.99266-2-guangguan.wang@linux.alibaba.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Change the upper boundary of SMC-R's snd_buf and rcv_buf to 512MB | expand |
On Tue, May 28, 2024 at 09:51:37PM +0800, Guangguan Wang wrote: > SG_MAX_SINGLE_ALLOC is used to limit maximum number of entries that > will be allocated in one piece of scatterlist. When the entries of > scatterlist exceeds SG_MAX_SINGLE_ALLOC, sg chain will be used. From > commit 7c703e54cc71 ("arch: switch the default on ARCH_HAS_SG_CHAIN"), > we can know that the macro CONFIG_ARCH_NO_SG_CHAIN is used to identify > whether sg chain is supported. So, SMC-R's rmb buffer should be limitted Hi Guangguan Wang, As it looks like there will be a v2: In this patch: limitted -> limited In patch 2/2: defalut -> default checkpatch.pl --codespell is your friend. > by SG_MAX_SINGLE_ALLOC only when the macro CONFIG_ARCH_NO_SG_CHAIN is > defined. > > Signed-off-by: Guangguan Wang <guangguan.wang@linux.alibaba.com> > Co-developed-by: Wen Gu <guwen@linux.alibaba.com> > Signed-off-by: Wen Gu <guwen@linux.alibaba.com> > Fixes: a3fe3d01bd0d ("net/smc: introduce sg-logic for RMBs") I think it is usual to put the fixes tag above the Signed-of tags, although I don't see anything about that in [1]. [1] https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes ...
On 2024/6/1 16:35, Simon Horman wrote: > On Tue, May 28, 2024 at 09:51:37PM +0800, Guangguan Wang wrote: >> SG_MAX_SINGLE_ALLOC is used to limit maximum number of entries that >> will be allocated in one piece of scatterlist. When the entries of >> scatterlist exceeds SG_MAX_SINGLE_ALLOC, sg chain will be used. From >> commit 7c703e54cc71 ("arch: switch the default on ARCH_HAS_SG_CHAIN"), >> we can know that the macro CONFIG_ARCH_NO_SG_CHAIN is used to identify >> whether sg chain is supported. So, SMC-R's rmb buffer should be limitted > > Hi Guangguan Wang, > > As it looks like there will be a v2: > > In this patch: limitted -> limited > In patch 2/2: defalut -> default > > checkpatch.pl --codespell is your friend. > >> by SG_MAX_SINGLE_ALLOC only when the macro CONFIG_ARCH_NO_SG_CHAIN is >> defined. >> >> Signed-off-by: Guangguan Wang <guangguan.wang@linux.alibaba.com> >> Co-developed-by: Wen Gu <guwen@linux.alibaba.com> >> Signed-off-by: Wen Gu <guwen@linux.alibaba.com> >> Fixes: a3fe3d01bd0d ("net/smc: introduce sg-logic for RMBs") > > I think it is usual to put the fixes tag above the Signed-of tags, > although I don't see anything about that in [1]. > > [1] https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes > > ... I will fix it in the next version. Thanks, Guangguan Wang
diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c index fafdb97adfad..acca3b1a068f 100644 --- a/net/smc/smc_core.c +++ b/net/smc/smc_core.c @@ -2015,7 +2015,6 @@ int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini) */ static u8 smc_compress_bufsize(int size, bool is_smcd, bool is_rmb) { - const unsigned int max_scat = SG_MAX_SINGLE_ALLOC * PAGE_SIZE; u8 compressed; if (size <= SMC_BUF_MIN_SIZE) @@ -2025,9 +2024,11 @@ static u8 smc_compress_bufsize(int size, bool is_smcd, bool is_rmb) compressed = min_t(u8, ilog2(size) + 1, is_smcd ? SMCD_DMBE_SIZES : SMCR_RMBE_SIZES); +#ifdef CONFIG_ARCH_NO_SG_CHAIN if (!is_smcd && is_rmb) /* RMBs are backed by & limited to max size of scatterlists */ - compressed = min_t(u8, compressed, ilog2(max_scat >> 14)); + compressed = min_t(u8, compressed, ilog2((SG_MAX_SINGLE_ALLOC * PAGE_SIZE) >> 14)); +#endif return compressed; }