xref: /dpdk/lib/mempool/rte_mempool_trace_fp.h (revision 719834a6849e1daf4a70ff7742bbcc3ae7e25607)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell International Ltd.
3  */
4 
5 #ifndef _RTE_MEMPOOL_TRACE_FP_H_
6 #define _RTE_MEMPOOL_TRACE_FP_H_
7 
8 /**
9  * @file
10  *
11  * Mempool fast path API for trace support
12  */
13 
14 #include <rte_trace_point.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 RTE_TRACE_POINT_FP(
21 	rte_mempool_trace_ops_dequeue_bulk,
22 	RTE_TRACE_POINT_ARGS(void *mempool, void **obj_table,
23 		uint32_t nb_objs),
24 	rte_trace_point_emit_ptr(mempool);
25 	rte_trace_point_emit_ptr(obj_table);
26 	rte_trace_point_emit_u32(nb_objs);
27 )
28 
29 RTE_TRACE_POINT_FP(
30 	rte_mempool_trace_ops_dequeue_contig_blocks,
31 	RTE_TRACE_POINT_ARGS(void *mempool, void **first_obj_table,
32 		uint32_t nb_objs),
33 	rte_trace_point_emit_ptr(mempool);
34 	rte_trace_point_emit_ptr(first_obj_table);
35 	rte_trace_point_emit_u32(nb_objs);
36 )
37 
38 RTE_TRACE_POINT_FP(
39 	rte_mempool_trace_ops_enqueue_bulk,
40 	RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
41 		uint32_t nb_objs),
42 	rte_trace_point_emit_ptr(mempool);
43 	rte_trace_point_emit_ptr(obj_table);
44 	rte_trace_point_emit_u32(nb_objs);
45 )
46 
47 RTE_TRACE_POINT_FP(
48 	rte_mempool_trace_generic_put,
49 	RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
50 		uint32_t nb_objs, void *cache),
51 	rte_trace_point_emit_ptr(mempool);
52 	rte_trace_point_emit_ptr(obj_table);
53 	rte_trace_point_emit_u32(nb_objs);
54 	rte_trace_point_emit_ptr(cache);
55 )
56 
57 RTE_TRACE_POINT_FP(
58 	rte_mempool_trace_put_bulk,
59 	RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
60 		uint32_t nb_objs, void *cache),
61 	rte_trace_point_emit_ptr(mempool);
62 	rte_trace_point_emit_ptr(obj_table);
63 	rte_trace_point_emit_u32(nb_objs);
64 	rte_trace_point_emit_ptr(cache);
65 )
66 
67 RTE_TRACE_POINT_FP(
68 	rte_mempool_trace_generic_get,
69 	RTE_TRACE_POINT_ARGS(void *mempool, void * const *obj_table,
70 		uint32_t nb_objs, void *cache),
71 	rte_trace_point_emit_ptr(mempool);
72 	rte_trace_point_emit_ptr(obj_table);
73 	rte_trace_point_emit_u32(nb_objs);
74 	rte_trace_point_emit_ptr(cache);
75 )
76 
77 RTE_TRACE_POINT_FP(
78 	rte_mempool_trace_get_bulk,
79 	RTE_TRACE_POINT_ARGS(void *mempool, void **obj_table,
80 		uint32_t nb_objs, void *cache),
81 	rte_trace_point_emit_ptr(mempool);
82 	rte_trace_point_emit_ptr(obj_table);
83 	rte_trace_point_emit_u32(nb_objs);
84 	rte_trace_point_emit_ptr(cache);
85 )
86 
87 RTE_TRACE_POINT_FP(
88 	rte_mempool_trace_get_contig_blocks,
89 	RTE_TRACE_POINT_ARGS(void *mempool, void **first_obj_table,
90 		uint32_t nb_objs),
91 	rte_trace_point_emit_ptr(mempool);
92 	rte_trace_point_emit_ptr(first_obj_table);
93 	rte_trace_point_emit_u32(nb_objs);
94 )
95 
96 RTE_TRACE_POINT_FP(
97 	rte_mempool_trace_default_cache,
98 	RTE_TRACE_POINT_ARGS(void *mempool, uint32_t lcore_id,
99 		void *default_cache),
100 	rte_trace_point_emit_ptr(mempool);
101 	rte_trace_point_emit_u32(lcore_id);
102 	rte_trace_point_emit_ptr(default_cache);
103 )
104 
105 RTE_TRACE_POINT_FP(
106 	rte_mempool_trace_cache_flush,
107 	RTE_TRACE_POINT_ARGS(void *cache, void *mempool),
108 	rte_trace_point_emit_ptr(cache);
109 	rte_trace_point_emit_ptr(mempool);
110 )
111 
112 #ifdef __cplusplus
113 }
114 #endif
115 
116 #endif /* _RTE_MEMPOOL_TRACE_FP_H_ */
117