[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 8 Aug 2018 18:18:11 -0400
From: Sowmini Varadhan <sowmini.varadhan@...cle.com>
To: Santosh Shilimkar <santosh.shilimkar@...cle.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net,
rds-devel@....oracle.com
Subject: Re: [PATCH net-next] rds: avoid lock hierarchy violation between
m_rs_lock and rs_recv_lock
On (08/08/18 14:51), Santosh Shilimkar wrote:
> This bug doesn't make sense since two different transports are using
> same socket (Loop and rds_tcp) and running together.
> For same transport, such race can't happen with MSG_ON_SOCK flag.
> CPU1-> rds_loop_inc_free
> CPU0 -> rds_tcp_cork ...
>
The test is just reporting a lock hierarchy violation
As far as I can tell, this wasn't an actual deadlock that happened
because as you point out, either a socket has the rds_tcp transport
or the rds_loop transport, so this particular pair of stack traces
would not happen with the code as it exists today.
but there is a valid lock hierachy violation here, and
imho it's a good idea to get that cleaned up.
It also avoids needlessly holding down the rs_recv_lock
when doing an rds_inc_put.
--Sowmini
Powered by blists - more mailing lists