alistair23-linux/net/rds
Andy Grover 2e7b3b9945 RDS: Fix congestion issues for loopback
We have two kinds of loopback: software (via loop transport)
and hardware (via IB). sw is used for 127.0.0.1, and doesn't
support rdma ops. hw is used for sends to local device IPs,
and supports rdma. Both are used in different cases.

For both of these, when there is a congestion map update, we
want to call rds_cong_map_updated() but not actually send
anything -- since loopback local and foreign congestion maps
point to the same spot, they're already in sync.

The old code never called sw loop's xmit_cong_map(),so
rds_cong_map_updated() wasn't being called for it. sw loop
ports would not work right with the congestion monitor.

Fixing that meant that hw loopback now would send congestion maps
to itself. This is also undesirable (racy), so we check for this
case in the ib-specific xmit code.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-03-16 21:16:55 -07:00
..
af_rds.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
bind.c RDS: Add a debug message suggesting to load transport modules 2009-08-23 19:13:14 -07:00
cong.c RDS: Fix congestion issues for loopback 2010-03-16 21:16:55 -07:00
connection.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
ib.c RDMA/cm: fix loopback address support 2009-11-19 13:26:06 -08:00
ib.h RDS/IB+IW: Move recv processing to a tasklet 2009-10-30 15:06:39 -07:00
ib_cm.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
ib_rdma.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
ib_recv.c RDS: Do not BUG() on error returned from ib_post_send 2010-03-16 21:16:53 -07:00
ib_ring.c
ib_send.c RDS: Fix congestion issues for loopback 2010-03-16 21:16:55 -07:00
ib_stats.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-09-15 09:39:44 -07:00
ib_sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
info.c RDS: Export symbols from core RDS 2009-08-23 19:13:07 -07:00
info.h
iw.c RDMA/cm: fix loopback address support 2009-11-19 13:26:06 -08:00
iw.h RDS/IB+IW: Move recv processing to a tasklet 2009-10-30 15:06:39 -07:00
iw_cm.c RDS/IB+IW: Move recv processing to a tasklet 2009-10-30 15:06:39 -07:00
iw_rdma.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
iw_recv.c RDS: Do not BUG() on error returned from ib_post_send 2010-03-16 21:16:53 -07:00
iw_ring.c
iw_send.c RDS: Do not BUG() on error returned from ib_post_send 2010-03-16 21:16:53 -07:00
iw_stats.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-09-15 09:39:44 -07:00
iw_sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
Kconfig RDS: Modularize RDMA and TCP transports 2009-08-23 19:13:09 -07:00
loop.c RDS: Fix congestion issues for loopback 2010-03-16 21:16:55 -07:00
loop.h
Makefile RDS: Modularize RDMA and TCP transports 2009-08-23 19:13:09 -07:00
message.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
page.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-09-15 09:39:44 -07:00
rdma.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
rdma.h RDS: Add GET_MR_FOR_DEST sockopt 2009-10-30 15:06:37 -07:00
rdma_transport.c RDS: Do not BUG() on error returned from ib_post_send 2010-03-16 21:16:53 -07:00
rdma_transport.h
rds.h RDS: Track transports via an array, not a list 2009-08-23 19:13:12 -07:00
recv.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
send.c RDS: sendmsg() should check sndtimeo, not rcvtimeo 2010-03-16 21:16:54 -07:00
stats.c RDS: Export symbols from core RDS 2009-08-23 19:13:07 -07:00
sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
tcp.c RDS: Track transports via an array, not a list 2009-08-23 19:13:12 -07:00
tcp.h RDS: Add TCP transport to RDS 2009-08-23 19:13:02 -07:00
tcp_connect.c net/rds: remove uses of NIPQUAD, use %pI4 2010-02-03 20:16:48 -08:00
tcp_listen.c net/rds: remove uses of NIPQUAD, use %pI4 2010-02-03 20:16:48 -08:00
tcp_recv.c RDS: update copy_to_user state in tcp transport 2010-03-16 21:16:54 -07:00
tcp_send.c RDS/TCP: Wait to wake thread when write space available 2010-03-16 21:16:55 -07:00
tcp_stats.c RDS: Add TCP transport to RDS 2009-08-23 19:13:02 -07:00
threads.c net: Move && and || to end of previous line 2009-11-29 16:55:45 -08:00
transport.c RDS: Track transports via an array, not a list 2009-08-23 19:13:12 -07:00