IB/rxe: Add port protocol stats
Expose new counters using the get_hw_stats callback. We expose the following counters: +---------------------+----------------------------------------+ | Name | Description | |---------------------+----------------------------------------| |sent_pkts | number of sent pkts | |---------------------+----------------------------------------| |rcvd_pkts | number of received packets | |---------------------+----------------------------------------| |out_of_sequence | number of errors due to packet | | | transport sequence number | |---------------------+----------------------------------------| |duplicate_request | number of received duplicated packets. | | | A request that previously executed is | | | named duplicated. | |---------------------+----------------------------------------| |rcvd_rnr_err | number of received RNR by completer | |---------------------+----------------------------------------| |send_rnr_err | number of sent RNR by responder | |---------------------+----------------------------------------| |rcvd_seq_err | number of out of sequence packets | | | received | |---------------------+----------------------------------------| |ack_deffered | number of deferred handling of ack | | | packets. | |---------------------+----------------------------------------| |retry_exceeded_err | number of times retry exceeded | |---------------------+----------------------------------------| |completer_retry_err | number of times completer decided to | | | retry | |---------------------+----------------------------------------| |send_err | number of failed send packet | +---------------------+----------------------------------------+ Signed-off-by: Yonatan Cohen <yonatanc@mellanox.com> Reviewed-by: Moni Shoua <monis@mellanox.com> Reviewed-by: Andrew Boyer <andrew.boyer@dell.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
339e7575ad
commit
0b1e5b99a4
@@ -38,6 +38,7 @@
|
||||
#include <rdma/rdma_user_rxe.h>
|
||||
#include "rxe_pool.h"
|
||||
#include "rxe_task.h"
|
||||
#include "rxe_hw_counters.h"
|
||||
|
||||
static inline int pkey_match(u16 key1, u16 key2)
|
||||
{
|
||||
@@ -401,10 +402,17 @@ struct rxe_dev {
|
||||
spinlock_t mmap_offset_lock; /* guard mmap_offset */
|
||||
int mmap_offset;
|
||||
|
||||
u64 stats_counters[RXE_NUM_OF_COUNTERS];
|
||||
|
||||
struct rxe_port port;
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters cnt)
|
||||
{
|
||||
rxe->stats_counters[cnt]++;
|
||||
}
|
||||
|
||||
static inline struct rxe_dev *to_rdev(struct ib_device *dev)
|
||||
{
|
||||
return dev ? container_of(dev, struct rxe_dev, ib_dev) : NULL;
|
||||
|
Reference in New Issue
Block a user