diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-03-29 16:20:18 -0700 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-08 18:12:15 -0700 |
commit | a7d3a281483684f77e350b045af7f80a149fc4c7 (patch) | |
tree | d15beb494e7d7cf0691adec8ffebe098608c6620 | |
parent | 2ad8099b58f274dc23bc866ca259d7e5db87fa1a (diff) | |
download | blackbird-op-linux-a7d3a281483684f77e350b045af7f80a149fc4c7.tar.gz blackbird-op-linux-a7d3a281483684f77e350b045af7f80a149fc4c7.zip |
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>
-rw-r--r-- | net/rds/send.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/rds/send.c b/net/rds/send.c index 624a3dc7f060..15b715a85fd5 100644 --- a/net/rds/send.c +++ b/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); 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; |