Thread (5 messages) flat view 5 messages, 2 authors, 2021-11-24

Re: [PATCH RFC net-next] net/smc: Unbind buffer size from clcsock and make it tunable

From: Karsten Graul <hidden>
Date: 2021-11-22 15:08:49
Also in: linux-rdma, linux-s390

On 22/11/2021 14:42, Tony Lu wrote:
SMC uses smc->sk.sk_{rcv|snd}buf to create buffer for send buffer or
RMB. And the values of buffer size inherits from clcsock. The clcsock is
a TCP sock which is initiated during SMC connection startup.

The inherited buffer size doesn't fit SMC well. TCP provides two sysctl
knobs to tune r/w buffers, net.ipv4.tcp_{r|w}mem, and SMC use the default
value from TCP. The buffer size is tuned for TCP, but not fit SMC well
in some scenarios. For example, we need larger buffer of SMC for high
throughput applications, and smaller buffer of SMC for saving contiguous
memory. We need to adjust the buffer size apart from TCP and not to
disturb TCP.

This unbinds buffer size which inherits from clcsock, and provides
sysctl knobs to adjust buffer size independently. These knobs can be
tuned with different values for different net namespaces for performance
and flexibility.

Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
Reviewed-by: Wen Gu <guwen@linux.alibaba.com>
---
To activate SMC for existing programs usually the smc_run command or the
preload library (both from the smc-tools package) are used.
This commit introduced support to set the send and recv window sizes
using command line parameters or environment variables:

https://github.com/ibm-s390-linux/smc-tools/commit/59bfb99c588746f7dca1b3c97fd88f3f7cbc975f

Why another way to manipulate these sizes?
Your solution would stop applications to set these values.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help