xref: /dpdk/lib/eal/include/eal_trace_internal.h (revision 719834a6849e1daf4a70ff7742bbcc3ae7e25607)
145a685caSAnkur Dwivedi /* SPDX-License-Identifier: BSD-3-Clause
245a685caSAnkur Dwivedi  * Copyright(C) 2023 Marvell International Ltd.
345a685caSAnkur Dwivedi  */
445a685caSAnkur Dwivedi 
545a685caSAnkur Dwivedi #ifndef EAL_TRACE_INTERNAL_H
645a685caSAnkur Dwivedi #define EAL_TRACE_INTERNAL_H
745a685caSAnkur Dwivedi 
845a685caSAnkur Dwivedi /**
945a685caSAnkur Dwivedi  * @file
1045a685caSAnkur Dwivedi  *
1145a685caSAnkur Dwivedi  * API for EAL trace support
1245a685caSAnkur Dwivedi  */
1345a685caSAnkur Dwivedi 
1445a685caSAnkur Dwivedi #include <rte_alarm.h>
1545a685caSAnkur Dwivedi #include <rte_interrupts.h>
1645a685caSAnkur Dwivedi #include <rte_trace_point.h>
1745a685caSAnkur Dwivedi 
1845a685caSAnkur Dwivedi #include "eal_interrupts.h"
1945a685caSAnkur Dwivedi 
20*719834a6SMattias Rönnblom #ifdef __cplusplus
21*719834a6SMattias Rönnblom extern "C" {
22*719834a6SMattias Rönnblom #endif
23*719834a6SMattias Rönnblom 
2445a685caSAnkur Dwivedi /* Alarm */
2545a685caSAnkur Dwivedi RTE_TRACE_POINT(
2645a685caSAnkur Dwivedi 	rte_eal_trace_alarm_set,
2745a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(uint64_t us, rte_eal_alarm_callback cb_fn,
2845a685caSAnkur Dwivedi 		void *cb_arg, int rc),
2945a685caSAnkur Dwivedi 	rte_trace_point_emit_u64(us);
3045a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb_fn);
3145a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb_arg);
3245a685caSAnkur Dwivedi 	rte_trace_point_emit_int(rc);
3345a685caSAnkur Dwivedi )
3445a685caSAnkur Dwivedi 
3545a685caSAnkur Dwivedi RTE_TRACE_POINT(
3645a685caSAnkur Dwivedi 	rte_eal_trace_alarm_cancel,
3745a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(rte_eal_alarm_callback cb_fn, void *cb_arg,
3845a685caSAnkur Dwivedi 		int count),
3945a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb_fn);
4045a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb_arg);
4145a685caSAnkur Dwivedi 	rte_trace_point_emit_int(count);
4245a685caSAnkur Dwivedi )
4345a685caSAnkur Dwivedi 
4445a685caSAnkur Dwivedi /* Interrupt */
4545a685caSAnkur Dwivedi RTE_TRACE_POINT(
4645a685caSAnkur Dwivedi 	rte_eal_trace_intr_callback_register,
4745a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
4845a685caSAnkur Dwivedi 		rte_intr_callback_fn cb, void *cb_arg, int rc),
4945a685caSAnkur Dwivedi 	rte_trace_point_emit_int(rc);
5045a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->dev_fd);
5145a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->fd);
5245a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->type);
5345a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->max_intr);
5445a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->nb_efd);
5545a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb);
5645a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb_arg);
5745a685caSAnkur Dwivedi )
5845a685caSAnkur Dwivedi RTE_TRACE_POINT(
5945a685caSAnkur Dwivedi 	rte_eal_trace_intr_callback_unregister,
6045a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
6145a685caSAnkur Dwivedi 		rte_intr_callback_fn cb, void *cb_arg, int rc),
6245a685caSAnkur Dwivedi 	rte_trace_point_emit_int(rc);
6345a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->dev_fd);
6445a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->fd);
6545a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->type);
6645a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->max_intr);
6745a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->nb_efd);
6845a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb);
6945a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(cb_arg);
7045a685caSAnkur Dwivedi )
7145a685caSAnkur Dwivedi RTE_TRACE_POINT(
7245a685caSAnkur Dwivedi 	rte_eal_trace_intr_enable,
7345a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
7445a685caSAnkur Dwivedi 	rte_trace_point_emit_int(rc);
7545a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->dev_fd);
7645a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->fd);
7745a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->type);
7845a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->max_intr);
7945a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->nb_efd);
8045a685caSAnkur Dwivedi )
8145a685caSAnkur Dwivedi RTE_TRACE_POINT(
8245a685caSAnkur Dwivedi 	rte_eal_trace_intr_disable,
8345a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
8445a685caSAnkur Dwivedi 	rte_trace_point_emit_int(rc);
8545a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->dev_fd);
8645a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->fd);
8745a685caSAnkur Dwivedi 	rte_trace_point_emit_int(handle->type);
8845a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->max_intr);
8945a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(handle->nb_efd);
9045a685caSAnkur Dwivedi )
9145a685caSAnkur Dwivedi 
9245a685caSAnkur Dwivedi /* Memory */
9345a685caSAnkur Dwivedi RTE_TRACE_POINT(
9445a685caSAnkur Dwivedi 	rte_eal_trace_mem_zmalloc,
9545a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
9645a685caSAnkur Dwivedi 		int socket, void *ptr),
9745a685caSAnkur Dwivedi 	rte_trace_point_emit_string(type);
9845a685caSAnkur Dwivedi 	rte_trace_point_emit_size_t(size);
9945a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(align);
10045a685caSAnkur Dwivedi 	rte_trace_point_emit_int(socket);
10145a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(ptr);
10245a685caSAnkur Dwivedi )
10345a685caSAnkur Dwivedi 
10445a685caSAnkur Dwivedi RTE_TRACE_POINT(
10545a685caSAnkur Dwivedi 	rte_eal_trace_mem_malloc,
10645a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
10745a685caSAnkur Dwivedi 		int socket, void *ptr),
10845a685caSAnkur Dwivedi 	rte_trace_point_emit_string(type);
10945a685caSAnkur Dwivedi 	rte_trace_point_emit_size_t(size);
11045a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(align);
11145a685caSAnkur Dwivedi 	rte_trace_point_emit_int(socket);
11245a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(ptr);
11345a685caSAnkur Dwivedi )
11445a685caSAnkur Dwivedi 
11545a685caSAnkur Dwivedi RTE_TRACE_POINT(
11645a685caSAnkur Dwivedi 	rte_eal_trace_mem_realloc,
11745a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(size_t size, unsigned int align, int socket,
11845a685caSAnkur Dwivedi 		void *ptr),
11945a685caSAnkur Dwivedi 	rte_trace_point_emit_size_t(size);
12045a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(align);
12145a685caSAnkur Dwivedi 	rte_trace_point_emit_int(socket);
12245a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(ptr);
12345a685caSAnkur Dwivedi )
12445a685caSAnkur Dwivedi 
12545a685caSAnkur Dwivedi RTE_TRACE_POINT(
12645a685caSAnkur Dwivedi 	rte_eal_trace_mem_free,
12745a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(void *ptr),
12845a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(ptr);
12945a685caSAnkur Dwivedi )
13045a685caSAnkur Dwivedi 
13145a685caSAnkur Dwivedi /* Memzone */
13245a685caSAnkur Dwivedi RTE_TRACE_POINT(
13345a685caSAnkur Dwivedi 	rte_eal_trace_memzone_reserve,
13445a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const char *name, size_t len, int socket_id,
13545a685caSAnkur Dwivedi 		unsigned int flags, unsigned int align, unsigned int bound,
13645a685caSAnkur Dwivedi 		const void *mz),
13745a685caSAnkur Dwivedi 	rte_trace_point_emit_string(name);
13845a685caSAnkur Dwivedi 	rte_trace_point_emit_size_t(len);
13945a685caSAnkur Dwivedi 	rte_trace_point_emit_int(socket_id);
14045a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(flags);
14145a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(align);
14245a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(bound);
14345a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(mz);
14445a685caSAnkur Dwivedi )
14545a685caSAnkur Dwivedi 
14645a685caSAnkur Dwivedi RTE_TRACE_POINT(
14745a685caSAnkur Dwivedi 	rte_eal_trace_memzone_lookup,
14845a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const char *name, const void *memzone),
14945a685caSAnkur Dwivedi 	rte_trace_point_emit_string(name);
15045a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(memzone);
15145a685caSAnkur Dwivedi )
15245a685caSAnkur Dwivedi 
15345a685caSAnkur Dwivedi RTE_TRACE_POINT(
15445a685caSAnkur Dwivedi 	rte_eal_trace_memzone_free,
15545a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(const char *name, void *addr, int rc),
15645a685caSAnkur Dwivedi 	rte_trace_point_emit_string(name);
15745a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(addr);
15845a685caSAnkur Dwivedi 	rte_trace_point_emit_int(rc);
15945a685caSAnkur Dwivedi )
16045a685caSAnkur Dwivedi 
16145a685caSAnkur Dwivedi /* Thread */
16245a685caSAnkur Dwivedi RTE_TRACE_POINT(
16345a685caSAnkur Dwivedi 	rte_eal_trace_thread_remote_launch,
16445a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg,
16545a685caSAnkur Dwivedi 		unsigned int worker_id, int rc),
16645a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(f);
16745a685caSAnkur Dwivedi 	rte_trace_point_emit_ptr(arg);
16845a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(worker_id);
16945a685caSAnkur Dwivedi 	rte_trace_point_emit_int(rc);
17045a685caSAnkur Dwivedi )
17145a685caSAnkur Dwivedi RTE_TRACE_POINT(
17245a685caSAnkur Dwivedi 	rte_eal_trace_thread_lcore_ready,
17345a685caSAnkur Dwivedi 	RTE_TRACE_POINT_ARGS(unsigned int lcore_id, const char *cpuset),
17445a685caSAnkur Dwivedi 	rte_trace_point_emit_u32(lcore_id);
17545a685caSAnkur Dwivedi 	rte_trace_point_emit_string(cpuset);
17645a685caSAnkur Dwivedi )
177841e87dfSArnaud Fiorini RTE_TRACE_POINT(
178841e87dfSArnaud Fiorini 	rte_eal_trace_thread_lcore_running,
179841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int lcore_id, void *f),
180841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
181841e87dfSArnaud Fiorini 	rte_trace_point_emit_ptr(f);
182841e87dfSArnaud Fiorini )
183841e87dfSArnaud Fiorini RTE_TRACE_POINT(
184841e87dfSArnaud Fiorini 	rte_eal_trace_thread_lcore_stopped,
185841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int lcore_id),
186841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
187841e87dfSArnaud Fiorini )
188841e87dfSArnaud Fiorini 
189841e87dfSArnaud Fiorini /* Service */
190841e87dfSArnaud Fiorini RTE_TRACE_POINT(
191841e87dfSArnaud Fiorini 	rte_eal_trace_service_map_lcore,
192841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int id, unsigned int lcore_id, unsigned int enabled),
193841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(id);
194841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
195841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(enabled);
196841e87dfSArnaud Fiorini )
197841e87dfSArnaud Fiorini RTE_TRACE_POINT(
198841e87dfSArnaud Fiorini 	rte_eal_trace_service_lcore_state_change,
199841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int lcore_id, int lcore_state),
200841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
201841e87dfSArnaud Fiorini 	rte_trace_point_emit_i32(lcore_state);
202841e87dfSArnaud Fiorini )
203841e87dfSArnaud Fiorini RTE_TRACE_POINT(
204841e87dfSArnaud Fiorini 	rte_eal_trace_service_lcore_start,
205841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int lcore_id),
206841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
207841e87dfSArnaud Fiorini )
208841e87dfSArnaud Fiorini RTE_TRACE_POINT(
209841e87dfSArnaud Fiorini 	rte_eal_trace_service_lcore_stop,
210841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int lcore_id),
211841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
212841e87dfSArnaud Fiorini )
213841e87dfSArnaud Fiorini RTE_TRACE_POINT(
214841e87dfSArnaud Fiorini 	rte_eal_trace_service_run_begin,
215841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int id, unsigned int lcore_id),
216841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(id);
217841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
218841e87dfSArnaud Fiorini )
219841e87dfSArnaud Fiorini RTE_TRACE_POINT(
220841e87dfSArnaud Fiorini 	rte_eal_trace_service_runstate_set,
221841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int id, unsigned int run_state),
222841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(id);
223841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(run_state);
224841e87dfSArnaud Fiorini )
225841e87dfSArnaud Fiorini RTE_TRACE_POINT(
226841e87dfSArnaud Fiorini 	rte_eal_trace_service_run_end,
227841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(unsigned int id, unsigned int lcore_id),
228841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(id);
229841e87dfSArnaud Fiorini 	rte_trace_point_emit_u32(lcore_id);
230841e87dfSArnaud Fiorini )
231841e87dfSArnaud Fiorini RTE_TRACE_POINT(
232841e87dfSArnaud Fiorini 	rte_eal_trace_service_component_register,
233841e87dfSArnaud Fiorini 	RTE_TRACE_POINT_ARGS(int id, const char *service_name),
234841e87dfSArnaud Fiorini 	rte_trace_point_emit_i32(id);
235841e87dfSArnaud Fiorini 	rte_trace_point_emit_string(service_name);
236841e87dfSArnaud Fiorini )
23745a685caSAnkur Dwivedi 
23845a685caSAnkur Dwivedi #ifdef __cplusplus
23945a685caSAnkur Dwivedi }
24045a685caSAnkur Dwivedi #endif
24145a685caSAnkur Dwivedi 
24245a685caSAnkur Dwivedi #endif /* EAL_TRACE_INTERNAL_H */
243