Commit a7d3a281 authored by Andy Grover's avatar Andy Grover

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: default avatarAndy Grover <andy.grover@oracle.com>
parent 2ad8099b
...@@ -1073,7 +1073,7 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, ...@@ -1073,7 +1073,7 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg,
rds_stats_inc(s_send_queued); rds_stats_inc(s_send_queued);
if (!test_bit(RDS_LL_SEND_FULL, &conn->c_flags)) 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); rds_message_put(rm);
return payload_len; return payload_len;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment