]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/lib/librte_eal/include/rte_eal_trace.h
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / spdk / dpdk / lib / librte_eal / include / rte_eal_trace.h
CommitLineData
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
15extern "C" {
16#endif
17
18#include <rte_alarm.h>
19#include <rte_interrupts.h>
20#include <rte_trace_point.h>
21
22/* Generic */
23RTE_TRACE_POINT(
24 rte_eal_trace_generic_void,
25 RTE_TRACE_POINT_ARGS(void),
26)
27
28RTE_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
34RTE_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
40RTE_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
46RTE_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
52RTE_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
58RTE_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
64RTE_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
70RTE_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
76RTE_TRACE_POINT(
77 rte_eal_trace_generic_int,
78 RTE_TRACE_POINT_ARGS(int in),
79 rte_trace_point_emit_int(in);
80)
81
82RTE_TRACE_POINT(
83 rte_eal_trace_generic_long,
84 RTE_TRACE_POINT_ARGS(long in),
85 rte_trace_point_emit_long(in);
86)
87
88RTE_TRACE_POINT(
89 rte_eal_trace_generic_float,
90 RTE_TRACE_POINT_ARGS(float in),
91 rte_trace_point_emit_float(in);
92)
93
94RTE_TRACE_POINT(
95 rte_eal_trace_generic_double,
96 RTE_TRACE_POINT_ARGS(double in),
97 rte_trace_point_emit_double(in);
98)
99
100RTE_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
106RTE_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
112RTE_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 */
121RTE_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
131RTE_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 */
141RTE_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
152RTE_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
163RTE_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
173RTE_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 */
180RTE_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
194RTE_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
201RTE_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 */
210RTE_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)
219RTE_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 */
227RTE_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)
240RTE_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)
253RTE_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)
263RTE_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_ */