diff options
author | santosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com> | 2015-08-22 18:45:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-25 16:35:30 -0400 |
commit | 0c484240210a8c835a216dbca6f1d690e4094a7c (patch) | |
tree | f52e60def14455dcc5f1728210be3e67f25524f3 /net/rds | |
parent | 73ce4317bf983282593aff710b112a7e705620c3 (diff) |
RDS: check for congestion updates during rds_send_xmit
Ensure we don't keep sending the data if the link is congested.
Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds')
-rw-r--r-- | net/rds/send.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rds/send.c b/net/rds/send.c index 2581b8e3dbe7..dd901c324edf 100644 --- a/net/rds/send.c +++ b/net/rds/send.c | |||
@@ -411,7 +411,8 @@ over_batch: | |||
411 | */ | 411 | */ |
412 | if (ret == 0) { | 412 | if (ret == 0) { |
413 | smp_mb(); | 413 | smp_mb(); |
414 | if (!list_empty(&conn->c_send_queue) && | 414 | if ((test_bit(0, &conn->c_map_queued) || |
415 | !list_empty(&conn->c_send_queue)) && | ||
415 | send_gen == conn->c_send_gen) { | 416 | send_gen == conn->c_send_gen) { |
416 | rds_stats_inc(s_send_lock_queue_raced); | 417 | rds_stats_inc(s_send_lock_queue_raced); |
417 | goto restart; | 418 | goto restart; |