summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2009-10-30 08:51:56 +0000
committerDavid S. Miller <davem@davemloft.net>2009-10-30 15:06:39 -0700
commit0514f8a9c0cbd26afa70dc56406cc0ee1e134dcf (patch)
tree24b34f38a3e9c1f5903a9556b9ac0086f2f7a93c
parent433d308dd85e506bb6529177cc0f997627d87ed6 (diff)
downloadlinux-0514f8a9c0cbd26afa70dc56406cc0ee1e134dcf.tar.gz
linux-0514f8a9c0cbd26afa70dc56406cc0ee1e134dcf.tar.bz2
linux-0514f8a9c0cbd26afa70dc56406cc0ee1e134dcf.zip
RDS: Do not send congestion updates to loopback connections
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>
-rw-r--r--net/rds/cong.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rds/cong.c b/net/rds/cong.c
index dd2711df640b..6d06cac2649c 100644
--- a/net/rds/cong.c
+++ b/net/rds/cong.c
@@ -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);