RDS: Do not send congestion updates to loopback connections
authorAndy Grover <andy.grover@oracle.com>
Fri, 30 Oct 2009 08:51:56 +0000 (08:51 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Oct 2009 22:06:39 +0000 (15:06 -0700)
This issue was discovered by HP's Pradeep and fixed in OFED
1.3, but not fixed in later versions, since the fix's implementation
was not immediately applyable to the later code. This patch should
do the trick for 1.4+ codebases.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/cong.c

index dd2711df640b5e391b91565a79d53babfa3210c2..6d06cac2649cd6bc62cdbb71975612c338185e08 100644 (file)
@@ -218,6 +218,8 @@ void rds_cong_queue_updates(struct rds_cong_map *map)
        spin_lock_irqsave(&rds_cong_lock, flags);
 
        list_for_each_entry(conn, &map->m_conn_list, c_map_item) {
+               if (conn->c_loopback)
+                       continue;
                if (!test_and_set_bit(0, &conn->c_map_queued)) {
                        rds_stats_inc(s_cong_update_queued);
                        queue_delayed_work(rds_wq, &conn->c_send_w, 0);