mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08: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_ */
|