diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-03-29 19:20:18 -0400 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-08 21:12:15 -0400 |
commit | a7d3a281483684f77e350b045af7f80a149fc4c7 (patch) | |
tree | d15beb494e7d7cf0691adec8ffebe098608c6620 /net/rds/send.c | |
parent | 2ad8099b58f274dc23bc866ca259d7e5db87fa1a (diff) |
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/rds/send.c')
-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, | |||
1073 | rds_stats_inc(s_send_queued); | 1073 | rds_stats_inc(s_send_queued); |
1074 | 1074 | ||
1075 | if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags)) | 1075 | if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags)) |
1076 | rds_send_worker(&conn->c_send_w.work); | 1076 | rds_send_xmit(conn); |
1077 | 1077 | ||
1078 | rds_message_put(rm); | 1078 | rds_message_put(rm); |
1079 | return payload_len; | 1079 | return payload_len; |