diff options
author | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2016-07-09 17:14:02 -0700 |
---|---|---|
committer | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2017-01-02 14:02:51 -0800 |
commit | 09b2b8f52895addd9bf28dc5ac98ff5cc750cf9a (patch) | |
tree | 719eb7c249bc7e6f81a2be16bc7163db8f4a749b /net/rds/ib.h | |
parent | 581d53c91cbf7b31415a9ed5e9a8b89d6af609b3 (diff) | |
download | linux-09b2b8f52895addd9bf28dc5ac98ff5cc750cf9a.tar.bz2 |
RDS: IB: add few useful cache stasts
Tracks the ib receive cache total, incoming and frag allocations.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Diffstat (limited to 'net/rds/ib.h')
-rw-r--r-- | net/rds/ib.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/rds/ib.h b/net/rds/ib.h index 5f02b4d8f10c..c62e5513d306 100644 --- a/net/rds/ib.h +++ b/net/rds/ib.h @@ -151,6 +151,7 @@ struct rds_ib_connection { u64 i_ack_recv; /* last ACK received */ struct rds_ib_refill_cache i_cache_incs; struct rds_ib_refill_cache i_cache_frags; + atomic_t i_cache_allocs; /* sending acks */ unsigned long i_ack_flags; @@ -254,6 +255,8 @@ struct rds_ib_statistics { uint64_t s_ib_rx_refill_from_cq; uint64_t s_ib_rx_refill_from_thread; uint64_t s_ib_rx_alloc_limit; + uint64_t s_ib_rx_total_frags; + uint64_t s_ib_rx_total_incs; uint64_t s_ib_rx_credit_updates; uint64_t s_ib_ack_sent; uint64_t s_ib_ack_send_failure; @@ -276,6 +279,8 @@ struct rds_ib_statistics { uint64_t s_ib_rdma_mr_1m_reused; uint64_t s_ib_atomic_cswp; uint64_t s_ib_atomic_fadd; + uint64_t s_ib_recv_added_to_cache; + uint64_t s_ib_recv_removed_from_cache; }; extern struct workqueue_struct *rds_ib_wq; @@ -406,6 +411,8 @@ int rds_ib_xmit_atomic(struct rds_connection *conn, struct rm_atomic_op *op); /* ib_stats.c */ DECLARE_PER_CPU(struct rds_ib_statistics, rds_ib_stats); #define rds_ib_stats_inc(member) rds_stats_inc_which(rds_ib_stats, member) +#define rds_ib_stats_add(member, count) \ + rds_stats_add_which(rds_ib_stats, member, count) unsigned int rds_ib_stats_info_copy(struct rds_info_iterator *iter, unsigned int avail); |