xref: /dpdk/lib/ethdev/rte_ethdev_trace_fp.h (revision e075ca1d2a22552a4ee6e2f2fa8d847b9e305c8e)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell International Ltd.
3  */
4 
5 #ifndef _RTE_ETHDEV_TRACE_FP_H_
6 #define _RTE_ETHDEV_TRACE_FP_H_
7 
8 /**
9  * @file
10  *
11  * API for ethdev trace support
12  */
13 
14 #include <rte_trace_point.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 RTE_TRACE_POINT_FP(
21 	rte_ethdev_trace_rx_burst_empty,
22 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
23 		void **pkt_tbl),
24 	rte_trace_point_emit_u16(port_id);
25 	rte_trace_point_emit_u16(queue_id);
26 	rte_trace_point_emit_ptr(pkt_tbl);
27 )
28 
29 RTE_TRACE_POINT_FP(
30 	rte_ethdev_trace_rx_burst_nonempty,
31 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
32 		void **pkt_tbl, uint16_t nb_rx),
33 	rte_trace_point_emit_u16(port_id);
34 	rte_trace_point_emit_u16(queue_id);
35 	rte_trace_point_emit_ptr(pkt_tbl);
36 	rte_trace_point_emit_u16(nb_rx);
37 )
38 
39 RTE_TRACE_POINT_FP(
40 	rte_ethdev_trace_tx_burst,
41 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
42 		void **pkts_tbl, uint16_t nb_pkts),
43 	rte_trace_point_emit_u16(port_id);
44 	rte_trace_point_emit_u16(queue_id);
45 	rte_trace_point_emit_ptr(pkts_tbl);
46 	rte_trace_point_emit_u16(nb_pkts);
47 )
48 
49 RTE_TRACE_POINT_FP(
50 	rte_eth_trace_call_rx_callbacks_empty,
51 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
52 		void **rx_pkts, uint16_t nb_pkts),
53 	rte_trace_point_emit_u16(port_id);
54 	rte_trace_point_emit_u16(queue_id);
55 	rte_trace_point_emit_ptr(rx_pkts);
56 	rte_trace_point_emit_u16(nb_pkts);
57 )
58 
59 RTE_TRACE_POINT_FP(
60 	rte_eth_trace_call_rx_callbacks_nonempty,
61 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
62 		void **rx_pkts, uint16_t nb_rx, uint16_t nb_pkts),
63 	rte_trace_point_emit_u16(port_id);
64 	rte_trace_point_emit_u16(queue_id);
65 	rte_trace_point_emit_ptr(rx_pkts);
66 	rte_trace_point_emit_u16(nb_rx);
67 	rte_trace_point_emit_u16(nb_pkts);
68 )
69 
70 RTE_TRACE_POINT_FP(
71 	rte_eth_trace_call_tx_callbacks,
72 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
73 		void **tx_pkts, uint16_t nb_pkts),
74 	rte_trace_point_emit_u16(port_id);
75 	rte_trace_point_emit_u16(queue_id);
76 	rte_trace_point_emit_ptr(tx_pkts);
77 	rte_trace_point_emit_u16(nb_pkts);
78 )
79 
80 RTE_TRACE_POINT_FP(
81 	rte_eth_trace_tx_buffer_drop_callback,
82 	RTE_TRACE_POINT_ARGS(void **pkts, uint16_t unsent),
83 	rte_trace_point_emit_ptr(pkts);
84 	rte_trace_point_emit_u16(unsent);
85 )
86 
87 RTE_TRACE_POINT_FP(
88 	rte_eth_trace_tx_buffer_count_callback,
89 	RTE_TRACE_POINT_ARGS(void **pkts, uint16_t unsent, uint64_t count),
90 	rte_trace_point_emit_ptr(pkts);
91 	rte_trace_point_emit_u16(unsent);
92 	rte_trace_point_emit_u64(count);
93 )
94 
95 RTE_TRACE_POINT_FP(
96 	rte_eth_trace_tx_queue_count,
97 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int rc),
98 	rte_trace_point_emit_u16(port_id);
99 	rte_trace_point_emit_u16(queue_id);
100 	rte_trace_point_emit_int(rc);
101 )
102 
103 #ifdef __cplusplus
104 }
105 #endif
106 
107 #endif /* _RTE_ETHDEV_TRACE_FP_H_ */
108