Browse Source

RDS: Call rds_send_xmit() directly from sendmsg()

rds_sendmsg() is calling the send worker function to
send the just-queued datagrams, presumably because it wants
the behavior where anything not sent will re-call the send
worker. We now ensure all queued datagrams are sent by retrying
from the send completion handler, so this isn't needed any more.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Andy Grover 15 years ago
parent
commit
a7d3a28148
1 changed files with 1 additions and 1 deletions
  1. 1 1
      net/rds/send.c

+ 1 - 1
net/rds/send.c

@@ -1073,7 +1073,7 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg,
 	rds_stats_inc(s_send_queued);
 	rds_stats_inc(s_send_queued);
 
 
 	if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags))
 	if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags))
-		rds_send_worker(&conn->c_send_w.work);
+		rds_send_xmit(conn);
 
 
 	rds_message_put(rm);
 	rds_message_put(rm);
 	return payload_len;
 	return payload_len;