mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-11 04:20:06 +00:00
Implement alloc_hw_port_stats and get_hw_stats APIs to support querying
MANA VF port level statistics from rdma stat tool.
Example output from rdma stat tool:
$rdma statistic show link mana_0/1 -p
link mana_0/1
requester_timeout 45
requester_oos_nak 0
requester_rnr_nak 0
responder_rnr_nak 0
responder_oos 0
responder_dup_request 0
requester_implicit_nak 0
requester_readresp_psn_mismatch 0
nak_inv_req 0
nak_access_error 0
nak_opp_error 0
nak_inv_read 0
responder_local_len_error 0
requestor_local_prot_error 0
responder_rem_access_error 0
responder_local_qp_error 0
responder_malformed_wqe 0
general_hw_error 6
requester_rnr_nak_retries_exceeded 0
requester_retries_exceeded 5
total_fatal_error 6
received_cnps 0
num_qps_congested 0
rate_inc_events 0
num_qps_recovered 0
current_rate 100000
Signed-off-by: Shiraz Saleem <shirazsaleem@microsoft.com>
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Link: https://patch.msgid.link/1738751527-15517-1-git-send-email-kotaranov@linux.microsoft.com
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2024 Microsoft Corporation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _COUNTERS_H_
|
|
#define _COUNTERS_H_
|
|
|
|
#include "mana_ib.h"
|
|
|
|
enum mana_ib_port_counters {
|
|
MANA_IB_REQUESTER_TIMEOUT,
|
|
MANA_IB_REQUESTER_OOS_NAK,
|
|
MANA_IB_REQUESTER_RNR_NAK,
|
|
MANA_IB_RESPONDER_RNR_NAK,
|
|
MANA_IB_RESPONDER_OOS,
|
|
MANA_IB_RESPONDER_DUP_REQUEST,
|
|
MANA_IB_REQUESTER_IMPLICIT_NAK,
|
|
MANA_IB_REQUESTER_READRESP_PSN_MISMATCH,
|
|
MANA_IB_NAK_INV_REQ,
|
|
MANA_IB_NAK_ACCESS_ERR,
|
|
MANA_IB_NAK_OPP_ERR,
|
|
MANA_IB_NAK_INV_READ,
|
|
MANA_IB_RESPONDER_LOCAL_LEN_ERR,
|
|
MANA_IB_REQUESTOR_LOCAL_PROT_ERR,
|
|
MANA_IB_RESPONDER_REM_ACCESS_ERR,
|
|
MANA_IB_RESPONDER_LOCAL_QP_ERR,
|
|
MANA_IB_RESPONDER_MALFORMED_WQE,
|
|
MANA_IB_GENERAL_HW_ERR,
|
|
MANA_IB_REQUESTER_RNR_NAK_RETRIES_EXCEEDED,
|
|
MANA_IB_REQUESTER_RETRIES_EXCEEDED,
|
|
MANA_IB_TOTAL_FATAL_ERR,
|
|
MANA_IB_RECEIVED_CNPS,
|
|
MANA_IB_NUM_QPS_CONGESTED,
|
|
MANA_IB_RATE_INC_EVENTS,
|
|
MANA_IB_NUM_QPS_RECOVERED,
|
|
MANA_IB_CURRENT_RATE,
|
|
};
|
|
|
|
struct rdma_hw_stats *mana_ib_alloc_hw_port_stats(struct ib_device *ibdev,
|
|
u32 port_num);
|
|
int mana_ib_get_hw_stats(struct ib_device *ibdev, struct rdma_hw_stats *stats,
|
|
u32 port_num, int index);
|
|
#endif /* _COUNTERS_H_ */
|