diff options
author | Steve Wise <swise@opengridcomputing.com> | 2009-04-09 14:09:36 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-09 17:21:14 -0700 |
commit | 5cd2fe6d54c91aa76893b3034f5f3473063c0202 (patch) | |
tree | e2ffb6f8a3b9919326c1da62729aa2b542cdd017 | |
parent | a0c31fdfb7f158780faa43ab83cc08b414bebd7e (diff) |
RDS/IW+IB: Set recv ring low water mark to 1/2 full.
Currently the recv ring low water mark is 1/4 the depth. Performance
measurements show that this limits iWARP throughput by flow controlling
the rds-stress senders. Setting it to 1/2 seems to max the T3
performance. I tried even higher levels but that didn't help and it
started to increase the rds thread cpu utilization.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/rds/ib_ring.c | 2 | ||||
-rw-r--r-- | net/rds/iw_ring.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/net/rds/ib_ring.c b/net/rds/ib_ring.c index 99a6ccae964..ff97e8eda85 100644 --- a/net/rds/ib_ring.c +++ b/net/rds/ib_ring.c @@ -137,7 +137,7 @@ int rds_ib_ring_empty(struct rds_ib_work_ring *ring) int rds_ib_ring_low(struct rds_ib_work_ring *ring) { - return __rds_ib_ring_used(ring) <= (ring->w_nr >> 2); + return __rds_ib_ring_used(ring) <= (ring->w_nr >> 1); } /* diff --git a/net/rds/iw_ring.c b/net/rds/iw_ring.c index d422d4b5dee..da8e3b63f66 100644 --- a/net/rds/iw_ring.c +++ b/net/rds/iw_ring.c @@ -137,7 +137,7 @@ int rds_iw_ring_empty(struct rds_iw_work_ring *ring) int rds_iw_ring_low(struct rds_iw_work_ring *ring) { - return __rds_iw_ring_used(ring) <= (ring->w_nr >> 2); + return __rds_iw_ring_used(ring) <= (ring->w_nr >> 1); } |