]> git.baikalelectronics.ru Git - kernel.git/commit
net/smc: use client and server LGR pending locks for SMC-R
authorHans Wippel <hwippel@linux.ibm.com>
Thu, 7 Feb 2019 14:56:18 +0000 (15:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Feb 2019 02:06:18 +0000 (18:06 -0800)
commit4bbd91b1e85951e65918a9e0fd322e2d01ba1207
tree19042bc7e16bd0e428fd7690638605fd44facefc
parent83cea651e345ab99fc6c9e5c399b4aab8528af22
net/smc: use client and server LGR pending locks for SMC-R

If SMC client and server connections are both established at the same
time, smc_connect_rdma() cannot send a CLC confirm message while
smc_listen_work() is waiting for one due to lock contention. This can
result in timeouts in smc_clc_wait_msg() and failed SMC connections.

In case of SMC-R, there are two types of LGRs (client and server LGRs)
which can be protected by separate locks. So, this patch splits the LGR
pending lock into two separate locks for client and server to avoid the
locking issue for SMC-R.

Signed-off-by: Hans Wippel <hwippel@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/af_smc.c