Re: [PATCH net-next v3 0/2] net/smc: Fix effective buffer size

From: Gerd Bayer
Date: Fri Aug 04 2023 - 12:55:40 EST


On Fri, 2023-08-04 at 18:30 +0200, Gerd Bayer wrote:
> Hi all,
>
> commit 0227f058aa29 ("net/smc: Unbind r/w buffer size from clcsock
> and make them tunable") started to derive the effective buffer size
> for
> SMC connections inconsistently in case a TCP fallback was used and
> memory consumption of SMC with the default settings was doubled when
> a connection negotiated SMC. That was not what we want.
>
> This series consolidates the resulting effective buffer size that is
> used with SMC sockets, which is based on Jan Karcher's effort (see
> [1]). For all TCP exchanges (in particular in case of a fall back
> when
> no SMC connection was possible) the values from net.ipv4.tcp_[rw]mem
> are used. If SMC succeeds in establishing a SMC connection, the newly
> introduced values from net.smc.[rw]mem are used.
>
> net.smc.[rw]mem is initialized to 64kB, respectively. Internal test
> have show this to be a good compromise between throughput/latency
> and memory consumption. Also net.smc.[rw]mem is now decoupled
> completely
> from any tuning through net.ipv4.tcp_[rw]mem.
>
> If a user chose to tune a socket's receive or send buffer size with
> setsockopt, this tuning is now consistently applied to either fall-
> back
> TCP or proper SMC connections over the socket.
>
> Thanks,
> Gerd
>
> v2 - v3:
>  - Rebase to and resolve conflict of second patch with latest
> net/master.
> v1 - v2:
>  - In second patch, use sock_net() helper as suggested by Tony and
> demanded
>    by kernel test robot.
>
>
> Gerd Bayer (2):
>   net/smc: Fix setsockopt and sysctl to specify same buffer size
> again
>   net/smc: Use correct buffer sizes when switching between TCP and
> SMC
>
>  net/smc/af_smc.c     | 77 ++++++++++++++++++++++++++++++------------
> --
>  net/smc/smc.h        |  2 +-
>  net/smc/smc_clc.c    |  4 +--
>  net/smc/smc_core.c   | 25 +++++++-------
>  net/smc/smc_sysctl.c | 10 ++++--
>  5 files changed, 76 insertions(+), 42 deletions(-)
>
>
> base-commit: 1733d0be68ab1b89358a3b0471ef425fd61de7c5

Oh boy,

this should have gone as v3 against "net" instead of "net-next".
Resending ASAP.

Sorry for the noise,
Gerd