xref: /dpdk/drivers/net/mlx5/mlx5_trace.h (revision 02932480ae82d7ed3c207f02cc40b508cdda6ded)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2023 NVIDIA Corporation & Affiliates
3  */
4 
5 #ifndef RTE_PMD_MLX5_TRACE_H_
6 #define RTE_PMD_MLX5_TRACE_H_
7 
8 /**
9  * @file
10  *
11  * API for mlx5 PMD trace support
12  */
13 
14 #include <mlx5_prm.h>
15 #include <rte_mbuf.h>
16 #include <rte_trace_point.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 /* TX burst subroutines trace points. */
23 RTE_TRACE_POINT_FP(
24 	rte_pmd_mlx5_trace_tx_entry,
25 	RTE_TRACE_POINT_ARGS(uint64_t real_time, uint16_t port_id, uint16_t queue_id),
26 	rte_trace_point_emit_u64(real_time);
27 	rte_trace_point_emit_u16(port_id);
28 	rte_trace_point_emit_u16(queue_id);
29 )
30 
31 RTE_TRACE_POINT_FP(
32 	rte_pmd_mlx5_trace_tx_exit,
33 	RTE_TRACE_POINT_ARGS(uint64_t real_time, uint16_t nb_sent, uint16_t nb_req),
34 	rte_trace_point_emit_u64(real_time);
35 	rte_trace_point_emit_u16(nb_sent);
36 	rte_trace_point_emit_u16(nb_req);
37 )
38 
39 RTE_TRACE_POINT_FP(
40 	rte_pmd_mlx5_trace_tx_wqe,
41 	RTE_TRACE_POINT_ARGS(uint64_t real_time, uint32_t opcode),
42 	rte_trace_point_emit_u64(real_time);
43 	rte_trace_point_emit_u32(opcode);
44 )
45 
46 RTE_TRACE_POINT_FP(
47 	rte_pmd_mlx5_trace_tx_wait,
48 	RTE_TRACE_POINT_ARGS(uint64_t ts),
49 	rte_trace_point_emit_u64(ts);
50 )
51 
52 
53 RTE_TRACE_POINT_FP(
54 	rte_pmd_mlx5_trace_tx_push,
55 	RTE_TRACE_POINT_ARGS(const struct rte_mbuf *mbuf, uint16_t wqe_id),
56 	rte_trace_point_emit_ptr(mbuf);
57 	rte_trace_point_emit_u32(mbuf->pkt_len);
58 	rte_trace_point_emit_u16(mbuf->nb_segs);
59 	rte_trace_point_emit_u16(wqe_id);
60 )
61 
62 RTE_TRACE_POINT_FP(
63 	rte_pmd_mlx5_trace_tx_complete,
64 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
65 			     uint16_t wqe_id, uint64_t ts),
66 	rte_trace_point_emit_u16(port_id);
67 	rte_trace_point_emit_u16(queue_id);
68 	rte_trace_point_emit_u64(ts);
69 	rte_trace_point_emit_u16(wqe_id);
70 )
71 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif /* RTE_PMD_MLX5_TRACE_H_ */
77