]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net/smc: Decouple sf and attached send_buf in smc_loopback
authorAlexandra Winter <wintera@linux.ibm.com>
Thu, 18 Sep 2025 11:04:48 +0000 (13:04 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 23 Sep 2025 09:13:21 +0000 (11:13 +0200)
commita4997e17d13767e67170f09bfa0b867862cad9d9
tree41906e5e5d5da2477c78554c4e130ddf63e6a837
parent884eee8e43f3072db4111178c98b9aa5c57bcf92
net/smc: Decouple sf and attached send_buf in smc_loopback

Before this patch there was the following assumption in
smc_loopback.c>smc_lo_move_data():
sf (signalling flag) == 0 : data is already in an attached target dmb
sf == 1 : data is not yet in the target dmb

This is true for the 2 callers in smc client
smcd_cdc_msg_send() : sf=1
smcd_tx_rdma_writes() : sf=0
but should not be a general assumption.

Add a bool to struct smc_buf_desc to indicate whether an SMC-D sndbuf_desc
is an attached buffer. Don't call move_data() for attached send_buffers,
because it is not necessary.

Move the data in smc_lo_move_data() if len != 0 and signal when requested.

Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
Reviewed-by: Mahanta Jambigi <mjambigi@linux.ibm.com>
Reviewed-by: Dust Li <dust.li@linux.alibaba.com>
Link: https://patch.msgid.link/20250918110500.1731261-3-wintera@linux.ibm.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/smc/smc_core.h
net/smc/smc_ism.c
net/smc/smc_loopback.c
net/smc/smc_tx.c