1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2020 Marvell International Ltd.
5 #ifndef _RTE_EAL_TRACE_H_
6 #define _RTE_EAL_TRACE_H_
11 * API for EAL trace support
18 #include <rte_alarm.h>
19 #include <rte_trace_point.h>
23 rte_eal_trace_generic_void,
24 RTE_TRACE_POINT_ARGS(void),
28 rte_eal_trace_generic_u64,
29 RTE_TRACE_POINT_ARGS(uint64_t in),
30 rte_trace_point_emit_u64(in);
34 rte_eal_trace_generic_u32,
35 RTE_TRACE_POINT_ARGS(uint32_t in),
36 rte_trace_point_emit_u32(in);
40 rte_eal_trace_generic_u16,
41 RTE_TRACE_POINT_ARGS(uint16_t in),
42 rte_trace_point_emit_u16(in);
46 rte_eal_trace_generic_u8,
47 RTE_TRACE_POINT_ARGS(uint8_t in),
48 rte_trace_point_emit_u8(in);
52 rte_eal_trace_generic_i64,
53 RTE_TRACE_POINT_ARGS(int64_t in),
54 rte_trace_point_emit_i64(in);
58 rte_eal_trace_generic_i32,
59 RTE_TRACE_POINT_ARGS(int32_t in),
60 rte_trace_point_emit_i32(in);
64 rte_eal_trace_generic_i16,
65 RTE_TRACE_POINT_ARGS(int16_t in),
66 rte_trace_point_emit_i16(in);
70 rte_eal_trace_generic_i8,
71 RTE_TRACE_POINT_ARGS(int8_t in),
72 rte_trace_point_emit_i8(in);
76 rte_eal_trace_generic_int,
77 RTE_TRACE_POINT_ARGS(int in),
78 rte_trace_point_emit_int(in);
82 rte_eal_trace_generic_long,
83 RTE_TRACE_POINT_ARGS(long in),
84 rte_trace_point_emit_long(in);
88 rte_eal_trace_generic_float,
89 RTE_TRACE_POINT_ARGS(float in),
90 rte_trace_point_emit_float(in);
94 rte_eal_trace_generic_double,
95 RTE_TRACE_POINT_ARGS(double in),
96 rte_trace_point_emit_double(in);
100 rte_eal_trace_generic_ptr,
101 RTE_TRACE_POINT_ARGS(const void *ptr),
102 rte_trace_point_emit_ptr(ptr);
106 rte_eal_trace_generic_str,
107 RTE_TRACE_POINT_ARGS(const char *str),
108 rte_trace_point_emit_string(str);
112 rte_eal_trace_generic_func,
113 RTE_TRACE_POINT_ARGS(const char *func),
114 rte_trace_point_emit_string(func);
117 #define RTE_EAL_TRACE_GENERIC_FUNC rte_eal_trace_generic_func(__func__)
121 rte_eal_trace_alarm_set,
122 RTE_TRACE_POINT_ARGS(uint64_t us, rte_eal_alarm_callback cb_fn,
123 void *cb_arg, int rc),
124 rte_trace_point_emit_u64(us);
125 rte_trace_point_emit_ptr(cb_fn);
126 rte_trace_point_emit_ptr(cb_arg);
127 rte_trace_point_emit_int(rc);
131 rte_eal_trace_alarm_cancel,
132 RTE_TRACE_POINT_ARGS(rte_eal_alarm_callback cb_fn, void *cb_arg,
134 rte_trace_point_emit_ptr(cb_fn);
135 rte_trace_point_emit_ptr(cb_arg);
136 rte_trace_point_emit_int(count);
141 rte_eal_trace_mem_zmalloc,
142 RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
143 int socket, void *ptr),
144 rte_trace_point_emit_string(type);
145 rte_trace_point_emit_long(size);
146 rte_trace_point_emit_u32(align);
147 rte_trace_point_emit_int(socket);
148 rte_trace_point_emit_ptr(ptr);
152 rte_eal_trace_mem_malloc,
153 RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
154 int socket, void *ptr),
155 rte_trace_point_emit_string(type);
156 rte_trace_point_emit_long(size);
157 rte_trace_point_emit_u32(align);
158 rte_trace_point_emit_int(socket);
159 rte_trace_point_emit_ptr(ptr);
163 rte_eal_trace_mem_realloc,
164 RTE_TRACE_POINT_ARGS(size_t size, unsigned int align, int socket,
166 rte_trace_point_emit_long(size);
167 rte_trace_point_emit_u32(align);
168 rte_trace_point_emit_int(socket);
169 rte_trace_point_emit_ptr(ptr);
173 rte_eal_trace_mem_free,
174 RTE_TRACE_POINT_ARGS(void *ptr),
175 rte_trace_point_emit_ptr(ptr);
180 rte_eal_trace_memzone_reserve,
181 RTE_TRACE_POINT_ARGS(const char *name, size_t len, int socket_id,
182 unsigned int flags, unsigned int align, unsigned int bound,
184 rte_trace_point_emit_string(name);
185 rte_trace_point_emit_long(len);
186 rte_trace_point_emit_int(socket_id);
187 rte_trace_point_emit_u32(flags);
188 rte_trace_point_emit_u32(align);
189 rte_trace_point_emit_u32(bound);
190 rte_trace_point_emit_ptr(mz);
194 rte_eal_trace_memzone_lookup,
195 RTE_TRACE_POINT_ARGS(const char *name, const void *memzone),
196 rte_trace_point_emit_string(name);
197 rte_trace_point_emit_ptr(memzone);
201 rte_eal_trace_memzone_free,
202 RTE_TRACE_POINT_ARGS(const char *name, void *addr, int rc),
203 rte_trace_point_emit_string(name);
204 rte_trace_point_emit_ptr(addr);
205 rte_trace_point_emit_int(rc);
212 #endif /* _RTE_EAL_TRACE_H_ */