RDS: Call rds_send_xmit() directly from sendmsg()
authorAndy Grover <andy.grover@oracle.com>
Mon, 29 Mar 2010 23:20:18 +0000 (16:20 -0700)
committerAndy Grover <andy.grover@oracle.com>
Thu, 9 Sep 2010 01:12:15 +0000 (18:12 -0700)
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>
net/rds/send.c

index 624a3dc7f060c24e028e2a5fb785fe7087a65710..15b715a85fd5e2cccead0f8b0c4a4db139880de2 100644 (file)
@@ -1073,7 +1073,7 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg,
        rds_stats_inc(s_send_queued);
 
        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);
        return payload_len;