]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/rds/tcp_send.c
RDS/TCP: Wait to wake thread when write space available
[net-next-2.6.git] / net / rds / tcp_send.c
index 34fdcc059e543271e3a47b07980184351f5e588a..a28b895ff0d10194730463b218e3ccb526cdea50 100644 (file)
@@ -240,7 +240,9 @@ void rds_tcp_write_space(struct sock *sk)
        tc->t_last_seen_una = rds_tcp_snd_una(tc);
        rds_send_drop_acked(conn, rds_tcp_snd_una(tc), rds_tcp_is_acked);
 
-       queue_delayed_work(rds_wq, &conn->c_send_w, 0);
+        if ((atomic_read(&sk->sk_wmem_alloc) << 1) <= sk->sk_sndbuf)
+               queue_delayed_work(rds_wq, &conn->c_send_w, 0);
+
 out:
        read_unlock(&sk->sk_callback_lock);