]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
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 | ||
8 | /** | |
9 | * @file | |
10 | * | |
11 | * API for EAL trace support | |
12 | */ | |
13 | ||
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 | /* Generic */ | |
23 | RTE_TRACE_POINT( | |
24 | rte_eal_trace_generic_void, | |
25 | RTE_TRACE_POINT_ARGS(void), | |
26 | ) | |
27 | ||
28 | RTE_TRACE_POINT( | |
29 | rte_eal_trace_generic_u64, | |
30 | RTE_TRACE_POINT_ARGS(uint64_t in), | |
31 | rte_trace_point_emit_u64(in); | |
32 | ) | |
33 | ||
34 | RTE_TRACE_POINT( | |
35 | rte_eal_trace_generic_u32, | |
36 | RTE_TRACE_POINT_ARGS(uint32_t in), | |
37 | rte_trace_point_emit_u32(in); | |
38 | ) | |
39 | ||
40 | RTE_TRACE_POINT( | |
41 | rte_eal_trace_generic_u16, | |
42 | RTE_TRACE_POINT_ARGS(uint16_t in), | |
43 | rte_trace_point_emit_u16(in); | |
44 | ) | |
45 | ||
46 | RTE_TRACE_POINT( | |
47 | rte_eal_trace_generic_u8, | |
48 | RTE_TRACE_POINT_ARGS(uint8_t in), | |
49 | rte_trace_point_emit_u8(in); | |
50 | ) | |
51 | ||
52 | RTE_TRACE_POINT( | |
53 | rte_eal_trace_generic_i64, | |
54 | RTE_TRACE_POINT_ARGS(int64_t in), | |
55 | rte_trace_point_emit_i64(in); | |
56 | ) | |
57 | ||
58 | RTE_TRACE_POINT( | |
59 | rte_eal_trace_generic_i32, | |
60 | RTE_TRACE_POINT_ARGS(int32_t in), | |
61 | rte_trace_point_emit_i32(in); | |
62 | ) | |
63 | ||
64 | RTE_TRACE_POINT( | |
65 | rte_eal_trace_generic_i16, | |
66 | RTE_TRACE_POINT_ARGS(int16_t in), | |
67 | rte_trace_point_emit_i16(in); | |
68 | ) | |
69 | ||
70 | RTE_TRACE_POINT( | |
71 | rte_eal_trace_generic_i8, | |
72 | RTE_TRACE_POINT_ARGS(int8_t in), | |
73 | rte_trace_point_emit_i8(in); | |
74 | ) | |
75 | ||
76 | RTE_TRACE_POINT( | |
77 | rte_eal_trace_generic_int, | |
78 | RTE_TRACE_POINT_ARGS(int in), | |
79 | rte_trace_point_emit_int(in); | |
80 | ) | |
81 | ||
82 | RTE_TRACE_POINT( | |
83 | rte_eal_trace_generic_long, | |
84 | RTE_TRACE_POINT_ARGS(long in), | |
85 | rte_trace_point_emit_long(in); | |
86 | ) | |
87 | ||
88 | RTE_TRACE_POINT( | |
89 | rte_eal_trace_generic_float, | |
90 | RTE_TRACE_POINT_ARGS(float in), | |
91 | rte_trace_point_emit_float(in); | |
92 | ) | |
93 | ||
94 | RTE_TRACE_POINT( | |
95 | rte_eal_trace_generic_double, | |
96 | RTE_TRACE_POINT_ARGS(double in), | |
97 | rte_trace_point_emit_double(in); | |
98 | ) | |
99 | ||
100 | RTE_TRACE_POINT( | |
101 | rte_eal_trace_generic_ptr, | |
102 | RTE_TRACE_POINT_ARGS(const void *ptr), | |
103 | rte_trace_point_emit_ptr(ptr); | |
104 | ) | |
105 | ||
106 | RTE_TRACE_POINT( | |
107 | rte_eal_trace_generic_str, | |
108 | RTE_TRACE_POINT_ARGS(const char *str), | |
109 | rte_trace_point_emit_string(str); | |
110 | ) | |
111 | ||
112 | RTE_TRACE_POINT( | |
113 | rte_eal_trace_generic_func, | |
114 | RTE_TRACE_POINT_ARGS(const char *func), | |
115 | rte_trace_point_emit_string(func); | |
116 | ) | |
117 | ||
118 | #define RTE_EAL_TRACE_GENERIC_FUNC rte_eal_trace_generic_func(__func__) | |
119 | ||
120 | /* Alarm */ | |
121 | RTE_TRACE_POINT( | |
122 | rte_eal_trace_alarm_set, | |
123 | RTE_TRACE_POINT_ARGS(uint64_t us, rte_eal_alarm_callback cb_fn, | |
124 | void *cb_arg, int rc), | |
125 | rte_trace_point_emit_u64(us); | |
126 | rte_trace_point_emit_ptr(cb_fn); | |
127 | rte_trace_point_emit_ptr(cb_arg); | |
128 | rte_trace_point_emit_int(rc); | |
129 | ) | |
130 | ||
131 | RTE_TRACE_POINT( | |
132 | rte_eal_trace_alarm_cancel, | |
133 | RTE_TRACE_POINT_ARGS(rte_eal_alarm_callback cb_fn, void *cb_arg, | |
134 | int count), | |
135 | rte_trace_point_emit_ptr(cb_fn); | |
136 | rte_trace_point_emit_ptr(cb_arg); | |
137 | rte_trace_point_emit_int(count); | |
138 | ) | |
139 | ||
140 | /* Memory */ | |
141 | RTE_TRACE_POINT( | |
142 | rte_eal_trace_mem_zmalloc, | |
143 | RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align, | |
144 | int socket, void *ptr), | |
145 | rte_trace_point_emit_string(type); | |
146 | rte_trace_point_emit_long(size); | |
147 | rte_trace_point_emit_u32(align); | |
148 | rte_trace_point_emit_int(socket); | |
149 | rte_trace_point_emit_ptr(ptr); | |
150 | ) | |
151 | ||
152 | RTE_TRACE_POINT( | |
153 | rte_eal_trace_mem_malloc, | |
154 | RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align, | |
155 | int socket, void *ptr), | |
156 | rte_trace_point_emit_string(type); | |
157 | rte_trace_point_emit_long(size); | |
158 | rte_trace_point_emit_u32(align); | |
159 | rte_trace_point_emit_int(socket); | |
160 | rte_trace_point_emit_ptr(ptr); | |
161 | ) | |
162 | ||
163 | RTE_TRACE_POINT( | |
164 | rte_eal_trace_mem_realloc, | |
165 | RTE_TRACE_POINT_ARGS(size_t size, unsigned int align, int socket, | |
166 | void *ptr), | |
167 | rte_trace_point_emit_long(size); | |
168 | rte_trace_point_emit_u32(align); | |
169 | rte_trace_point_emit_int(socket); | |
170 | rte_trace_point_emit_ptr(ptr); | |
171 | ) | |
172 | ||
173 | RTE_TRACE_POINT( | |
174 | rte_eal_trace_mem_free, | |
175 | RTE_TRACE_POINT_ARGS(void *ptr), | |
176 | rte_trace_point_emit_ptr(ptr); | |
177 | ) | |
178 | ||
179 | /* Memzone */ | |
180 | RTE_TRACE_POINT( | |
181 | rte_eal_trace_memzone_reserve, | |
182 | RTE_TRACE_POINT_ARGS(const char *name, size_t len, int socket_id, | |
183 | unsigned int flags, unsigned int align, unsigned int bound, | |
184 | const void *mz), | |
185 | rte_trace_point_emit_string(name); | |
186 | rte_trace_point_emit_long(len); | |
187 | rte_trace_point_emit_int(socket_id); | |
188 | rte_trace_point_emit_u32(flags); | |
189 | rte_trace_point_emit_u32(align); | |
190 | rte_trace_point_emit_u32(bound); | |
191 | rte_trace_point_emit_ptr(mz); | |
192 | ) | |
193 | ||
194 | RTE_TRACE_POINT( | |
195 | rte_eal_trace_memzone_lookup, | |
196 | RTE_TRACE_POINT_ARGS(const char *name, const void *memzone), | |
197 | rte_trace_point_emit_string(name); | |
198 | rte_trace_point_emit_ptr(memzone); | |
199 | ) | |
200 | ||
201 | RTE_TRACE_POINT( | |
202 | rte_eal_trace_memzone_free, | |
203 | RTE_TRACE_POINT_ARGS(const char *name, void *addr, int rc), | |
204 | rte_trace_point_emit_string(name); | |
205 | rte_trace_point_emit_ptr(addr); | |
206 | rte_trace_point_emit_int(rc); | |
207 | ) | |
208 | ||
209 | /* Thread */ | |
210 | RTE_TRACE_POINT( | |
211 | rte_eal_trace_thread_remote_launch, | |
212 | RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg, | |
213 | unsigned int slave_id, int rc), | |
214 | rte_trace_point_emit_ptr(f); | |
215 | rte_trace_point_emit_ptr(arg); | |
216 | rte_trace_point_emit_u32(slave_id); | |
217 | rte_trace_point_emit_int(rc); | |
218 | ) | |
219 | RTE_TRACE_POINT( | |
220 | rte_eal_trace_thread_lcore_ready, | |
221 | RTE_TRACE_POINT_ARGS(unsigned int lcore_id, const char *cpuset), | |
222 | rte_trace_point_emit_u32(lcore_id); | |
223 | rte_trace_point_emit_string(cpuset); | |
224 | ) | |
225 | ||
226 | /* Interrupt */ | |
227 | RTE_TRACE_POINT( | |
228 | rte_eal_trace_intr_callback_register, | |
229 | RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, | |
230 | rte_intr_callback_fn cb, void *cb_arg, int rc), | |
231 | rte_trace_point_emit_int(rc); | |
232 | rte_trace_point_emit_int(handle->vfio_dev_fd); | |
233 | rte_trace_point_emit_int(handle->fd); | |
234 | rte_trace_point_emit_int(handle->type); | |
235 | rte_trace_point_emit_u32(handle->max_intr); | |
236 | rte_trace_point_emit_u32(handle->nb_efd); | |
237 | rte_trace_point_emit_ptr(cb); | |
238 | rte_trace_point_emit_ptr(cb_arg); | |
239 | ) | |
240 | RTE_TRACE_POINT( | |
241 | rte_eal_trace_intr_callback_unregister, | |
242 | RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, | |
243 | rte_intr_callback_fn cb, void *cb_arg, int rc), | |
244 | rte_trace_point_emit_int(rc); | |
245 | rte_trace_point_emit_int(handle->vfio_dev_fd); | |
246 | rte_trace_point_emit_int(handle->fd); | |
247 | rte_trace_point_emit_int(handle->type); | |
248 | rte_trace_point_emit_u32(handle->max_intr); | |
249 | rte_trace_point_emit_u32(handle->nb_efd); | |
250 | rte_trace_point_emit_ptr(cb); | |
251 | rte_trace_point_emit_ptr(cb_arg); | |
252 | ) | |
253 | RTE_TRACE_POINT( | |
254 | rte_eal_trace_intr_enable, | |
255 | RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc), | |
256 | rte_trace_point_emit_int(rc); | |
257 | rte_trace_point_emit_int(handle->vfio_dev_fd); | |
258 | rte_trace_point_emit_int(handle->fd); | |
259 | rte_trace_point_emit_int(handle->type); | |
260 | rte_trace_point_emit_u32(handle->max_intr); | |
261 | rte_trace_point_emit_u32(handle->nb_efd); | |
262 | ) | |
263 | RTE_TRACE_POINT( | |
264 | rte_eal_trace_intr_disable, | |
265 | RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc), | |
266 | rte_trace_point_emit_int(rc); | |
267 | rte_trace_point_emit_int(handle->vfio_dev_fd); | |
268 | rte_trace_point_emit_int(handle->fd); | |
269 | rte_trace_point_emit_int(handle->type); | |
270 | rte_trace_point_emit_u32(handle->max_intr); | |
271 | rte_trace_point_emit_u32(handle->nb_efd); | |
272 | ) | |
273 | ||
274 | #ifdef __cplusplus | |
275 | } | |
276 | #endif | |
277 | ||
278 | #endif /* _RTE_EAL_TRACE_H_ */ |