Преглед на файлове

RDS/IB: Do not wait for send ring to be empty on conn shutdown

Now that we are signaling send completions much less, we are likely
to have dirty entries in the send queue when the connection is
shut down (on rmmod, for example.) These are cleaned up a little
further down in conn_shutdown, but if we wait on the ring_empty_wait
for them, it'll never happen, and we hand on unload.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Andy Grover преди 15 години
родител
ревизия
e32b4a7049
променени са 1 файла, в които са добавени 4 реда и са изтрити 1 реда
  1. 4 1
      net/rds/ib_cm.c

+ 4 - 1
net/rds/ib_cm.c

@@ -620,8 +620,11 @@ void rds_ib_conn_shutdown(struct rds_connection *conn)
 				ic->i_cm_id, err);
 		}
 
+		/*
+		 * Don't wait for the send ring to be empty -- there may be completed
+		 * non-signaled entries sitting on there. We unmap these below.
+		 */
 		wait_event(rds_ib_ring_empty_wait,
-			rds_ib_ring_empty(&ic->i_send_ring) &&
 			rds_ib_ring_empty(&ic->i_recv_ring));
 
 		if (ic->i_send_hdrs)