mbuf: extend meaning of QinQ stripped bit
[dpdk.git] / lib / librte_mempool / rte_mempool_trace.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell International Ltd.
3  */
4
5 #ifndef _RTE_MEMPOOL_TRACE_H_
6 #define _RTE_MEMPOOL_TRACE_H_
7
8 /**
9  * @file
10  *
11  * APIs for mempool trace support
12  */
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 #include "rte_mempool.h"
19
20 #include <rte_memzone.h>
21 #include <rte_trace_point.h>
22
23 RTE_TRACE_POINT(
24         rte_mempool_trace_create,
25         RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts,
26                 uint32_t elt_size, uint32_t cache_size,
27                 uint32_t private_data_size, void *mp_init, void *mp_init_arg,
28                 void *obj_init, void *obj_init_arg, uint32_t flags,
29                 struct rte_mempool *mempool),
30         rte_trace_point_emit_string(name);
31         rte_trace_point_emit_u32(nb_elts);
32         rte_trace_point_emit_u32(elt_size);
33         rte_trace_point_emit_u32(cache_size);
34         rte_trace_point_emit_u32(private_data_size);
35         rte_trace_point_emit_ptr(mp_init);
36         rte_trace_point_emit_ptr(mp_init_arg);
37         rte_trace_point_emit_ptr(obj_init);
38         rte_trace_point_emit_ptr(obj_init_arg);
39         rte_trace_point_emit_u32(flags);
40         rte_trace_point_emit_ptr(mempool);
41         rte_trace_point_emit_i32(mempool->ops_index);
42 )
43
44 RTE_TRACE_POINT(
45         rte_mempool_trace_create_empty,
46         RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts,
47                 uint32_t elt_size, uint32_t cache_size,
48                 uint32_t private_data_size, uint32_t flags,
49                 struct rte_mempool *mempool),
50         rte_trace_point_emit_string(name);
51         rte_trace_point_emit_u32(nb_elts);
52         rte_trace_point_emit_u32(elt_size);
53         rte_trace_point_emit_u32(cache_size);
54         rte_trace_point_emit_u32(private_data_size);
55         rte_trace_point_emit_u32(flags);
56         rte_trace_point_emit_ptr(mempool);
57         rte_trace_point_emit_i32(mempool->ops_index);
58 )
59
60 RTE_TRACE_POINT(
61         rte_mempool_trace_free,
62         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
63         rte_trace_point_emit_ptr(mempool);
64         rte_trace_point_emit_string(mempool->name);
65 )
66
67 RTE_TRACE_POINT(
68         rte_mempool_trace_populate_iova,
69         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, void *vaddr,
70                 rte_iova_t iova, size_t len, void *free_cb, void *opaque),
71         rte_trace_point_emit_ptr(mempool);
72         rte_trace_point_emit_string(mempool->name);
73         rte_trace_point_emit_ptr(vaddr);
74         rte_trace_point_emit_u64(iova);
75         rte_trace_point_emit_size_t(len);
76         rte_trace_point_emit_ptr(free_cb);
77         rte_trace_point_emit_ptr(opaque);
78 )
79
80 RTE_TRACE_POINT(
81         rte_mempool_trace_populate_virt,
82         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, void *addr,
83                 size_t len, size_t pg_sz, void *free_cb, void *opaque),
84         rte_trace_point_emit_ptr(mempool);
85         rte_trace_point_emit_string(mempool->name);
86         rte_trace_point_emit_ptr(addr);
87         rte_trace_point_emit_size_t(len);
88         rte_trace_point_emit_size_t(pg_sz);
89         rte_trace_point_emit_ptr(free_cb);
90         rte_trace_point_emit_ptr(opaque);
91 )
92
93 RTE_TRACE_POINT(
94         rte_mempool_trace_populate_default,
95         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
96         rte_trace_point_emit_ptr(mempool);
97         rte_trace_point_emit_string(mempool->name);
98 )
99
100 RTE_TRACE_POINT(
101         rte_mempool_trace_populate_anon,
102         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
103         rte_trace_point_emit_ptr(mempool);
104         rte_trace_point_emit_string(mempool->name);
105 )
106
107 RTE_TRACE_POINT(
108         rte_mempool_trace_cache_create,
109         RTE_TRACE_POINT_ARGS(uint32_t size, int socket_id,
110                 struct rte_mempool_cache *cache),
111         rte_trace_point_emit_u32(size);
112         rte_trace_point_emit_i32(socket_id);
113         rte_trace_point_emit_ptr(cache);
114         rte_trace_point_emit_u32(cache->len);
115         rte_trace_point_emit_u32(cache->flushthresh);
116 )
117
118 RTE_TRACE_POINT(
119         rte_mempool_trace_cache_free,
120         RTE_TRACE_POINT_ARGS(void *cache),
121         rte_trace_point_emit_ptr(cache);
122 )
123
124 RTE_TRACE_POINT(
125         rte_mempool_trace_get_page_size,
126         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, size_t pg_sz),
127         rte_trace_point_emit_ptr(mempool);
128         rte_trace_point_emit_string(mempool->name);
129         rte_trace_point_emit_size_t(pg_sz);
130 )
131
132 RTE_TRACE_POINT(
133         rte_mempool_trace_ops_populate,
134         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, uint32_t max_objs,
135                 void *vaddr, uint64_t iova, size_t len, void *obj_cb,
136                 void *obj_cb_arg),
137         rte_trace_point_emit_ptr(mempool);
138         rte_trace_point_emit_string(mempool->name);
139         rte_trace_point_emit_u32(max_objs);
140         rte_trace_point_emit_ptr(vaddr);
141         rte_trace_point_emit_u64(iova);
142         rte_trace_point_emit_size_t(len);
143         rte_trace_point_emit_ptr(obj_cb);
144         rte_trace_point_emit_ptr(obj_cb_arg);
145 )
146
147 RTE_TRACE_POINT(
148         rte_mempool_trace_ops_alloc,
149         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
150         rte_trace_point_emit_ptr(mempool);
151         rte_trace_point_emit_string(mempool->name);
152 )
153
154 RTE_TRACE_POINT(
155         rte_mempool_trace_ops_free,
156         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
157         rte_trace_point_emit_ptr(mempool);
158         rte_trace_point_emit_string(mempool->name);
159 )
160
161 RTE_TRACE_POINT(
162         rte_mempool_trace_set_ops_byname,
163         RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, const char *name,
164                 void *pool_config),
165         rte_trace_point_emit_ptr(mempool);
166         rte_trace_point_emit_string(mempool->name);
167         rte_trace_point_emit_string(name);
168         rte_trace_point_emit_ptr(pool_config);
169 )
170
171 #ifdef __cplusplus
172 }
173 #endif
174
175 #endif /* _RTE_MEMPOOL_TRACE_H_ */