]> 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)
commitef0025a78b424111f253d1424980e80616b96357
tree19042bc7e16bd0e428fd7690638605fd44facefc
parentb75bd10ce6421dcdec713f00fcbd6d25fa7a78c8
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