From e3dc49fc2c88ff6d18edcba70110203d1400ff20 Mon Sep 17 00:00:00 2001 From: Andy Grover Date: Thu, 11 Mar 2010 13:49:58 +0000 Subject: [PATCH] --- yaml --- r: 193588 b: refs/heads/master c: 8e82376e5f72bb576504c8c6117685e56c1b97db h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/rds/tcp_send.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 177107b6b874..54c505927327 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b075cfdb666d6fa90c55c8619186398a3c4fd865 +refs/heads/master: 8e82376e5f72bb576504c8c6117685e56c1b97db diff --git a/trunk/net/rds/tcp_send.c b/trunk/net/rds/tcp_send.c index 34fdcc059e54..a28b895ff0d1 100644 --- a/trunk/net/rds/tcp_send.c +++ b/trunk/net/rds/tcp_send.c @@ -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);