diff options
author | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2015-09-10 21:20:57 -0700 |
---|---|---|
committer | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2015-10-05 11:19:02 -0700 |
commit | 06766513232d1619ac84e87b1d839d3fcc23a540 (patch) | |
tree | 2ba73da74159985e20e1dd164c143c0cefd0ee7f /net/rds/ib_stats.c | |
parent | 41a4e9646229801624e38f7a1cc53033a0affdb1 (diff) |
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.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/net/rds/ib_stats.c b/net/rds/ib_stats.c index 8c8b84f7bfbb..d77e04473056 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", }; |