On Wed, 10 Jul 2019 10:24:49 +0300 Leon Romanovsky <leon@xxxxxxxxxx> wrote: > From: Mark Zhang <markz@xxxxxxxxxxxx> > > This patch presents link, id, task name, lqpn, as well as all sub > counters of a QP counter. > A QP counter is a dynamically allocated statistic counter that is > bound with one or more QPs. It has several sub-counters, each is > used for a different purpose. > > Examples: > $ rdma stat qp show > link mlx5_2/1 cntn 5 pid 31609 comm client.1 rx_write_requests 0 > rx_read_requests 0 rx_atomic_requests 0 out_of_buffer 0 out_of_sequence 0 > duplicate_request 0 rnr_nak_retry_err 0 packet_seq_err 0 > implied_nak_seq_err 0 local_ack_timeout_err 0 resp_local_length_error 0 > resp_cqe_error 0 req_cqe_error 0 req_remote_invalid_request 0 > req_remote_access_errors 0 resp_remote_access_errors 0 > resp_cqe_flush_error 0 req_cqe_flush_error 0 > LQPN: <178> > $ rdma stat show link rocep1s0f5/1 > link rocep1s0f5/1 rx_write_requests 0 rx_read_requests 0 rx_atomic_requests 0 out_of_buffer 0 duplicate_request 0 > rnr_nak_retry_err 0 packet_seq_err 0 implied_nak_seq_err 0 local_ack_timeout_err 0 resp_local_length_error 0 resp_cqe_error 0 > req_cqe_error 0 req_remote_invalid_request 0 req_remote_access_errors 0 resp_remote_access_errors 0 resp_cqe_flush_error 0 > req_cqe_flush_error 0 rp_cnp_ignored 0 rp_cnp_handled 0 np_ecn_marked_roce_packets 0 np_cnp_sent 0 > $ rdma stat show link rocep1s0f5/1 -p > link rocep1s0f5/1 > rx_write_requests 0 > rx_read_requests 0 > rx_atomic_requests 0 > out_of_buffer 0 > duplicate_request 0 > rnr_nak_retry_err 0 > packet_seq_err 0 > implied_nak_seq_err 0 > local_ack_timeout_err 0 > resp_local_length_error 0 > resp_cqe_error 0 > req_cqe_error 0 > req_remote_invalid_request 0 > req_remote_access_errors 0 > resp_remote_access_errors 0 > resp_cqe_flush_error 0 > req_cqe_flush_error 0 > rp_cnp_ignored 0 > rp_cnp_handled 0 > np_ecn_marked_roce_packets 0 > np_cnp_sent 0 > > Signed-off-by: Mark Zhang <markz@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > rdma/Makefile | 2 +- > rdma/rdma.c | 3 +- > rdma/rdma.h | 1 + > rdma/stat.c | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++ > rdma/utils.c | 7 ++ > 5 files changed, 279 insertions(+), 2 deletions(-) > create mode 100644 rdma/stat.c > Headers have been merged, but this patch does not apply cleanly to current iproute2