From: Santosh Shilimkar <santosh.shilim...@oracle.com> Date: Fri, 16 Oct 2015 22:13:21 -0400
> Sowmini found hang with rds-ping while testing RDS over TCP. Its > a corner case and doesn't happen always. The issue is not reproducible > with IB transport. Its clear from below dump why we see it with RDS TCP. ... > This happens because rds_send_xmit() chain wants to take > sock_lock which is already taken by tcp_v4_rcv() on its > way to rds_tcp_data_ready(). Commit db6526dcb51b ("RDS: use > rds_send_xmit() state instead of RDS_LL_SEND_FULL") which > was trying to opportunistically finish the send request > in same thread context. > > But because of above recursive lock hang with RDS TCP, > the send work from rds_send_pong() needs to deferred to > worker to avoid lock up. Given RDS ping is more of connectivity > test than performance critical path, its should be ok even > for transport like IB. > > Reported-by: Sowmini Varadhan <sowmini.varad...@oracle.com> > Acked-by: Sowmini Varadhan <sowmini.varad...@oracle.com> > Signed-off-by: Santosh Shilimkar <ssant...@kernel.org> > Signed-off-by: Santosh Shilimkar <santosh.shilim...@oracle.com> > --- > v2: Dropped the confusing SEND_LL_FULL check from v1 Applied, thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html