On (05/02/16 09:33), Santosh Shilimkar wrote: > >+ mutex_unlock(&tc->t_conn_lock); > Just wondering whether the spin_lock() would better here considering > entry into rds_tcp_conn_connect() & rds_tcp_accept_one() might be > from softirq context. Ignore it if its not applicable.
It's not from softirq context (both are workqs), but I used a mutex to follow c_cm_lock (which I considered reusing, given that it is only IB specific?) But spin_lock vs mutex may not be a big differentiator here- this is really a one-time start up (corner-case) issue in the control path. > > rds_conn_transition(conn, RDS_CONN_DOWN, RDS_CONN_CONNECTING); > Like patch 1/2, probably we can leverage return value of above. : > You probably don't need the local 'conn_state' and below should work. > if (!rds_conn_connecting(conn) && !rds_conn_up(conn)) see explanation for comment to 1/2. --Sowmini