summaryrefslogtreecommitdiff
path: root/net/rds/ib_stats.c
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@oracle.com>2015-09-11 04:20:57 (GMT)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>2015-10-05 18:19:02 (GMT)
commit06766513232d1619ac84e87b1d839d3fcc23a540 (patch)
tree2ba73da74159985e20e1dd164c143c0cefd0ee7f /net/rds/ib_stats.c
parent41a4e9646229801624e38f7a1cc53033a0affdb1 (diff)
downloadlinux-06766513232d1619ac84e87b1d839d3fcc23a540.tar.xz
RDS: IB: split mr pool to improve 8K messages performance
8K message sizes are pretty important usecase for RDS current workloads so we make provison to have 8K mrs available from the pool. Based on number of SG's in the RDS message, we pick a pool to use. Also to make sure that we don't under utlise mrs when say 8k messages are dominating which could lead to 8k pull being exhausted, we fall-back to 1m pool till 8k pool recovers for use. This helps to at least push ~55 kB/s bidirectional data which is a nice improvement. Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Diffstat (limited to 'net/rds/ib_stats.c')
-rw-r--r--net/rds/ib_stats.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/net/rds/ib_stats.c b/net/rds/ib_stats.c
index 8c8b84f..d77e044 100644
--- a/net/rds/ib_stats.c
+++ b/net/rds/ib_stats.c
@@ -61,12 +61,18 @@ static const char *const rds_ib_stat_names[] = {
"ib_ack_send_delayed",
"ib_ack_send_piggybacked",
"ib_ack_received",
- "ib_rdma_mr_alloc",
- "ib_rdma_mr_free",
- "ib_rdma_mr_used",
- "ib_rdma_mr_pool_flush",
- "ib_rdma_mr_pool_wait",
- "ib_rdma_mr_pool_depleted",
+ "ib_rdma_mr_8k_alloc",
+ "ib_rdma_mr_8k_free",
+ "ib_rdma_mr_8k_used",
+ "ib_rdma_mr_8k_pool_flush",
+ "ib_rdma_mr_8k_pool_wait",
+ "ib_rdma_mr_8k_pool_depleted",
+ "ib_rdma_mr_1m_alloc",
+ "ib_rdma_mr_1m_free",
+ "ib_rdma_mr_1m_used",
+ "ib_rdma_mr_1m_pool_flush",
+ "ib_rdma_mr_1m_pool_wait",
+ "ib_rdma_mr_1m_pool_depleted",
"ib_atomic_cswp",
"ib_atomic_fadd",
};