diff options
author | Andy Grover <andy.grover@oracle.com> | 2010-03-30 01:20:18 +0200 |
---|---|---|
committer | Andy Grover <andy.grover@oracle.com> | 2010-09-09 03:12:15 +0200 |
commit | a7d3a281483684f77e350b045af7f80a149fc4c7 (patch) | |
tree | d15beb494e7d7cf0691adec8ffebe098608c6620 /net/rds | |
parent | RDS: rds_send_xmit() locking/irq fixes (diff) | |
download | linux-a7d3a281483684f77e350b045af7f80a149fc4c7.tar.xz 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>
Diffstat (limited to 'net/rds')
-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; |