Thread (8 messages) 8 messages, 3 authors, 2021-12-03

Re: [PATCH net] net/smc: Clear memory when release and reuse buffer

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-11-26 19:31:01
Also in: linux-rdma, linux-s390

On Thu, 25 Nov 2021 20:28:59 +0800 Tony Lu wrote:
Currently, buffers are clear when smc create connections and reuse
buffer. It will slow down the speed of establishing new connection. In
most cases, the applications hope to establish connections as quickly as
possible.

This patch moves memset() from connection creation path to release and
buffer unuse path, this trades off between speed of establishing and
release.

Test environments:
- CPU Intel Xeon Platinum 8 core, mem 32 GiB, nic Mellanox CX4
- socket sndbuf / rcvbuf: 16384 / 131072 bytes
- w/o first round, 5 rounds, avg, 100 conns batch per round
- smc_buf_create() use bpftrace kprobe, introduces extra latency

Latency benchmarks for smc_buf_create():
  w/o patch : 19040.0 ns
  w/  patch :  1932.6 ns
  ratio :        10.2% (-89.8%)

Latency benchmarks for socket create and connect:
  w/o patch :   143.3 us
  w/  patch :   102.2 us
  ratio :        71.3% (-28.7%)

The latency of establishing connections is reduced by 28.7%.

Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
Reviewed-by: Wen Gu <guwen@linux.alibaba.com>
The tag in the subject seems incorrect, we tag things as [PATCH net] 
if they are fixes, and as [PATCH net-next] if they are new features,
code refactoring or performance improvements.

Is this a fix for a regression? In which case we need a Fixes tag to
indicate where it was introduced. Otherwise it needs to be tagged as
[PATCH net-next].

I'm assuming Karsten will take it via his tree, otherwise you'll need
to repost.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help