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 /net | |
parent | 2ad8099b58f274dc23bc866ca259d7e5db87fa1a (diff) | |
download | op-kernel-dev-a7d3a281483684f77e350b045af7f80a149fc4c7.zip op-kernel-dev-a7d3a281483684f77e350b045af7f80a149fc4c7.tar.gz |
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>
Diffstat (limited to 'net')
-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 624a3dc..15b715a 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; |