DPDK  21.08.0
rte_mempool_trace.h
Go to the documentation of this file.
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 
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 
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),
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);
40  rte_trace_point_emit_ptr(mempool);
42 )
43 
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),
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);
56  rte_trace_point_emit_ptr(mempool);
58 )
59 
61  rte_mempool_trace_free,
62  RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
63  rte_trace_point_emit_ptr(mempool);
65 )
66 
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);
76  rte_trace_point_emit_ptr(free_cb);
78 )
79 
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);
89  rte_trace_point_emit_ptr(free_cb);
91 )
92 
94  rte_mempool_trace_populate_default,
95  RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
96  rte_trace_point_emit_ptr(mempool);
98 )
99 
101  rte_mempool_trace_populate_anon,
102  RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
103  rte_trace_point_emit_ptr(mempool);
105 )
106 
108  rte_mempool_trace_cache_create,
109  RTE_TRACE_POINT_ARGS(uint32_t size, int socket_id,
110  struct rte_mempool_cache *cache),
114  rte_trace_point_emit_u32(cache->len);
115  rte_trace_point_emit_u32(cache->flushthresh);
116 )
117 
119  rte_mempool_trace_cache_free,
120  RTE_TRACE_POINT_ARGS(void *cache),
122 )
123 
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);
130 )
131 
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);
139  rte_trace_point_emit_u32(max_objs);
143  rte_trace_point_emit_ptr(obj_cb);
144  rte_trace_point_emit_ptr(obj_cb_arg);
145 )
146 
148  rte_mempool_trace_ops_alloc,
149  RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
150  rte_trace_point_emit_ptr(mempool);
152 )
153 
155  rte_mempool_trace_ops_free,
156  RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool),
157  rte_trace_point_emit_ptr(mempool);
159 )
160 
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);
169 )
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* _RTE_MEMPOOL_TRACE_H_ */
#define rte_trace_point_emit_u32(val)
#define rte_trace_point_emit_size_t(val)
uint64_t rte_iova_t
Definition: rte_common.h:420
#define RTE_TRACE_POINT_ARGS
#define rte_trace_point_emit_string(val)
#define RTE_TRACE_POINT(tp, args,...)
unsigned int flags
Definition: rte_mempool.h:226
uint32_t cache_size
Definition: rte_mempool.h:229
uint32_t size
Definition: rte_mempool.h:228
void * pool_config
Definition: rte_mempool.h:224
uint32_t elt_size
Definition: rte_mempool.h:232
unsigned private_data_size
Definition: rte_mempool.h:236
#define rte_trace_point_emit_ptr(val)
int32_t ops_index
Definition: rte_mempool.h:244
#define rte_trace_point_emit_i32(val)
char name[RTE_MEMZONE_NAMESIZE]
Definition: rte_mempool.h:218
#define rte_trace_point_emit_u64(val)