From: Ursula Braun <ubraun@xxxxxxxxxxxxx> Date: Wed, 27 Jun 2018 17:59:50 +0200 > The recent poll change may lead to stalls for non-blocking connecting > SMC sockets, since sock_poll_wait is no longer performed on the > internal CLC socket, but on the outer SMC socket. kernel_connect() on > the internal CLC socket returns with -EINPROGRESS, but the wake up > logic does not work in all cases. If the internal CLC socket is still > in state TCP_SYN_SENT when polled, sock_poll_wait() from sock_poll() > does not sleep. It is supposed to sleep till the state of the internal > CLC socket switches to TCP_ESTABLISHED. > > This problem triggered a redesign of the SMC nonblocking connect logic. > This patch introduces a connect worker covering all connect steps > followed by a wake up of socket waiters. It allows to get rid of all > delays and locks in smc_poll(). > > Fixes: c0129a061442 ("smc: convert to ->poll_mask") > Signed-off-by: Ursula Braun <ubraun@xxxxxxxxxxxxx> Applied. -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html