diff options
author | santosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com> | 2015-08-22 15:45:27 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-25 13:35:30 -0700 |
commit | 0c484240210a8c835a216dbca6f1d690e4094a7c (patch) | |
tree | f52e60def14455dcc5f1728210be3e67f25524f3 /net/rds | |
parent | 73ce4317bf983282593aff710b112a7e705620c3 (diff) | |
download | linux-0c484240210a8c835a216dbca6f1d690e4094a7c.tar.gz linux-0c484240210a8c835a216dbca6f1d690e4094a7c.tar.bz2 linux-0c484240210a8c835a216dbca6f1d690e4094a7c.zip |
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: */ if (ret == 0) { smp_mb(); - if (!list_empty(&conn->c_send_queue) && + if ((test_bit(0, &conn->c_map_queued) || + !list_empty(&conn->c_send_queue)) && send_gen == conn->c_send_gen) { rds_stats_inc(s_send_lock_queue_raced); goto restart; |