DPDK  22.07.0
rte_eal_trace.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell International Ltd.
3  */
4 
5 #ifndef _RTE_EAL_TRACE_H_
6 #define _RTE_EAL_TRACE_H_
7 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #include <rte_alarm.h>
19 #include <rte_interrupts.h>
20 #include <rte_trace_point.h>
21 
22 #include "eal_interrupts.h"
23 
24 /* Alarm */
26  rte_eal_trace_alarm_set,
28  void *cb_arg, int rc),
33 )
34 
36  rte_eal_trace_alarm_cancel,
37  RTE_TRACE_POINT_ARGS(rte_eal_alarm_callback cb_fn, void *cb_arg,
38  int count),
42 )
43 
44 /* Generic */
46  rte_eal_trace_generic_void,
48 )
49 
51  rte_eal_trace_generic_u64,
52  RTE_TRACE_POINT_ARGS(uint64_t in),
54 )
55 
57  rte_eal_trace_generic_u32,
58  RTE_TRACE_POINT_ARGS(uint32_t in),
60 )
61 
63  rte_eal_trace_generic_u16,
64  RTE_TRACE_POINT_ARGS(uint16_t in),
66 )
67 
69  rte_eal_trace_generic_u8,
70  RTE_TRACE_POINT_ARGS(uint8_t in),
72 )
73 
75  rte_eal_trace_generic_i64,
76  RTE_TRACE_POINT_ARGS(int64_t in),
78 )
79 
81  rte_eal_trace_generic_i32,
82  RTE_TRACE_POINT_ARGS(int32_t in),
84 )
85 
87  rte_eal_trace_generic_i16,
88  RTE_TRACE_POINT_ARGS(int16_t in),
90 )
91 
93  rte_eal_trace_generic_i8,
94  RTE_TRACE_POINT_ARGS(int8_t in),
96 )
97 
99  rte_eal_trace_generic_int,
100  RTE_TRACE_POINT_ARGS(int in),
102 )
103 
105  rte_eal_trace_generic_long,
106  RTE_TRACE_POINT_ARGS(long in),
108 )
109 
111  rte_eal_trace_generic_float,
112  RTE_TRACE_POINT_ARGS(float in),
114 )
115 
117  rte_eal_trace_generic_double,
118  RTE_TRACE_POINT_ARGS(double in),
120 )
121 
123  rte_eal_trace_generic_ptr,
124  RTE_TRACE_POINT_ARGS(const void *ptr),
126 )
127 
129  rte_eal_trace_generic_str,
130  RTE_TRACE_POINT_ARGS(const char *str),
132 )
133 
135  rte_eal_trace_generic_size_t,
136  RTE_TRACE_POINT_ARGS(size_t sz),
138 )
139 
141  rte_eal_trace_generic_func,
142  RTE_TRACE_POINT_ARGS(const char *func),
144 )
145 
146 #define RTE_EAL_TRACE_GENERIC_FUNC rte_eal_trace_generic_func(__func__)
147 
148 /* Interrupt */
150  rte_eal_trace_intr_callback_register,
151  RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
152  rte_intr_callback_fn cb, void *cb_arg, int rc),
154  rte_trace_point_emit_int(handle->dev_fd);
155  rte_trace_point_emit_int(handle->fd);
156  rte_trace_point_emit_int(handle->type);
157  rte_trace_point_emit_u32(handle->max_intr);
158  rte_trace_point_emit_u32(handle->nb_efd);
160  rte_trace_point_emit_ptr(cb_arg);
161 )
163  rte_eal_trace_intr_callback_unregister,
164  RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
165  rte_intr_callback_fn cb, void *cb_arg, int rc),
167  rte_trace_point_emit_int(handle->dev_fd);
168  rte_trace_point_emit_int(handle->fd);
169  rte_trace_point_emit_int(handle->type);
170  rte_trace_point_emit_u32(handle->max_intr);
171  rte_trace_point_emit_u32(handle->nb_efd);
173  rte_trace_point_emit_ptr(cb_arg);
174 )
176  rte_eal_trace_intr_enable,
177  RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
179  rte_trace_point_emit_int(handle->dev_fd);
180  rte_trace_point_emit_int(handle->fd);
181  rte_trace_point_emit_int(handle->type);
182  rte_trace_point_emit_u32(handle->max_intr);
183  rte_trace_point_emit_u32(handle->nb_efd);
184 )
186  rte_eal_trace_intr_disable,
187  RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
189  rte_trace_point_emit_int(handle->dev_fd);
190  rte_trace_point_emit_int(handle->fd);
191  rte_trace_point_emit_int(handle->type);
192  rte_trace_point_emit_u32(handle->max_intr);
193  rte_trace_point_emit_u32(handle->nb_efd);
194 )
195 
196 /* Memory */
198  rte_eal_trace_mem_zmalloc,
199  RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
200  int socket, void *ptr),
204  rte_trace_point_emit_int(socket);
206 )
207 
209  rte_eal_trace_mem_malloc,
210  RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
211  int socket, void *ptr),
215  rte_trace_point_emit_int(socket);
217 )
218 
220  rte_eal_trace_mem_realloc,
221  RTE_TRACE_POINT_ARGS(size_t size, unsigned int align, int socket,
222  void *ptr),
225  rte_trace_point_emit_int(socket);
227 )
228 
230  rte_eal_trace_mem_free,
231  RTE_TRACE_POINT_ARGS(void *ptr),
233 )
234 
235 /* Memzone */
237  rte_eal_trace_memzone_reserve,
238  RTE_TRACE_POINT_ARGS(const char *name, size_t len, int socket_id,
239  unsigned int flags, unsigned int align, unsigned int bound,
240  const void *mz),
243  rte_trace_point_emit_int(socket_id);
248 )
249 
251  rte_eal_trace_memzone_lookup,
252  RTE_TRACE_POINT_ARGS(const char *name, const void *memzone),
254  rte_trace_point_emit_ptr(memzone);
255 )
256 
258  rte_eal_trace_memzone_free,
259  RTE_TRACE_POINT_ARGS(const char *name, void *addr, int rc),
263 )
264 
265 /* Thread */
267  rte_eal_trace_thread_remote_launch,
268  RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg,
269  unsigned int worker_id, int rc),
272  rte_trace_point_emit_u32(worker_id);
274 )
276  rte_eal_trace_thread_lcore_ready,
277  RTE_TRACE_POINT_ARGS(unsigned int lcore_id, const char *cpuset),
278  rte_trace_point_emit_u32(lcore_id);
280 )
281 
282 #ifdef __cplusplus
283 }
284 #endif
285 
286 #endif /* _RTE_EAL_TRACE_H_ */
void(* rte_eal_alarm_callback)(void *arg)
Definition: rte_alarm.h:26
#define rte_trace_point_emit_u32(val)
#define rte_trace_point_emit_size_t(val)
#define rte_trace_point_emit_int(val)
#define RTE_TRACE_POINT_ARGS
#define rte_trace_point_emit_string(val)
#define RTE_TRACE_POINT(tp, args,...)
#define rte_trace_point_emit_i16(val)
#define rte_trace_point_emit_u8(val)
void(* rte_intr_callback_fn)(void *cb_arg)
#define rte_trace_point_emit_u16(val)
#define rte_trace_point_emit_i64(val)
#define rte_trace_point_emit_i8(val)
#define rte_trace_point_emit_float(val)
#define rte_trace_point_emit_ptr(val)
#define rte_trace_point_emit_double(val)
#define rte_trace_point_emit_i32(val)
#define rte_trace_point_emit_u64(val)
#define rte_trace_point_emit_long(val)