RDS: check for congestion updates during rds_send_xmit
authorsantosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com>
Sat, 22 Aug 2015 22:45:27 +0000 (15:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 25 Aug 2015 20:35:30 +0000 (13:35 -0700)
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>
net/rds/send.c

index 2581b8e..dd901c3 100644 (file)
@@ -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;