linux/net/rds
Andy Grover fcc5450c63 RDS: Remove send_quota from send_xmit()
The purpose of the send quota was really to give fairness
when different connections were all using the same
workq thread to send backlogged msgs -- they could only send
so many before another connection could make progress.

Now that each connection is pushing the backlog from its
completion handler, they are all guaranteed to make progress
and the quota isn't needed any longer.

A thread *will* have to send all previously queued data, as well
as any further msgs placed on the queue while while c_send_lock
was held. In a pathological case a single process can get
roped into doing this for long periods while other threads
get off free. But, since it can only do this until the transport
reports full, this is a bounded scenario.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
2010-09-08 18:12:21 -07:00
..
af_rds.c RDS: fold rdma.h into rds.h 2010-09-08 18:11:37 -07:00
bind.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
cong.c RDS: Bypass workqueue when queueing cong updates 2010-09-08 18:12:16 -07:00
connection.c RDS: Change send lock from a mutex to a spinlock 2010-09-08 18:12:12 -07:00
ib_cm.c RDS: Refill recv ring directly from tasklet 2010-09-08 18:12:11 -07:00
ib_rdma.c RDS: Implement atomic operations 2010-09-08 18:11:41 -07:00
ib_recv.c RDS: Refill recv ring directly from tasklet 2010-09-08 18:12:11 -07:00
ib_ring.c RDS/IW+IB: Set recv ring low water mark to 1/2 full. 2009-04-09 17:21:14 -07:00
ib_send.c RDS: Move atomic stats from general to ib-specific area 2010-09-08 18:12:20 -07:00
ib_stats.c RDS: Move atomic stats from general to ib-specific area 2010-09-08 18:12:20 -07:00
ib_sysctl.c RDS: Remove unsignaled_bytes sysctl 2010-09-08 18:11:52 -07:00
ib.c RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
ib.h RDS: Move atomic stats from general to ib-specific area 2010-09-08 18:12:20 -07:00
info.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
info.h RDS: Info and stats 2009-02-26 23:39:25 -08:00
iw_cm.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
iw_rdma.c RDS: fold rdma.h into rds.h 2010-09-08 18:11:37 -07:00
iw_recv.c RDS: inc_purge() transport function unused - remove it 2010-09-08 18:11:46 -07:00
iw_ring.c RDS/IW+IB: Set recv ring low water mark to 1/2 full. 2009-04-09 17:21:14 -07:00
iw_send.c RDS: Rename data op members prefix from m_ to op_ 2010-09-08 18:11:59 -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 RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
iw.c RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
iw.h RDS: Remove struct rds_rdma_op 2010-09-08 18:11:58 -07:00
Kconfig RDS: Modularize RDMA and TCP transports 2009-08-23 19:13:09 -07:00
loop.c RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
loop.h RDS: loopback 2009-02-26 23:39:26 -08:00
Makefile RDS: Modularize RDMA and TCP transports 2009-08-23 19:13:09 -07:00
message.c RDS: rds_message_unmapped() doesn't need to check if queue active 2010-09-08 18:12:19 -07:00
page.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
rdma_transport.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-27 12:49:13 -07:00
rdma_transport.h RDS: Common RDMA transport code 2009-02-26 23:39:33 -08:00
rdma.c RDS: Add flag for silent ops. Do atomic op before RDMA 2010-09-08 18:12:06 -07:00
rds.h RDS: Move atomic stats from general to ib-specific area 2010-09-08 18:12:20 -07:00
recv.c RDS: Whitespace 2010-09-08 18:11:44 -07:00
send.c RDS: Remove send_quota from send_xmit() 2010-09-08 18:12:21 -07:00
stats.c RDS: Move atomic stats from general to ib-specific area 2010-09-08 18:12:20 -07:00
sysctl.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
tcp_connect.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
tcp_listen.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
tcp_recv.c RDS: inc_purge() transport function unused - remove it 2010-09-08 18:11:46 -07:00
tcp_send.c RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
tcp_stats.c RDS: Add TCP transport to RDS 2009-08-23 19:13:02 -07:00
tcp.c RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
tcp.h RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
threads.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
transport.c RDS: Track transports via an array, not a list 2009-08-23 19:13:12 -07:00