11159d8fbSAnkur Dwivedi /* SPDX-License-Identifier: BSD-3-Clause 21159d8fbSAnkur Dwivedi * Copyright(C) 2020 Marvell International Ltd. 31159d8fbSAnkur Dwivedi */ 41159d8fbSAnkur Dwivedi 51159d8fbSAnkur Dwivedi #ifndef MEMPOOL_TRACE_H 61159d8fbSAnkur Dwivedi #define MEMPOOL_TRACE_H 71159d8fbSAnkur Dwivedi 81159d8fbSAnkur Dwivedi /** 91159d8fbSAnkur Dwivedi * @file 101159d8fbSAnkur Dwivedi * 111159d8fbSAnkur Dwivedi * APIs for mempool trace support 121159d8fbSAnkur Dwivedi */ 131159d8fbSAnkur Dwivedi 141159d8fbSAnkur Dwivedi #include "rte_mempool.h" 151159d8fbSAnkur Dwivedi 161159d8fbSAnkur Dwivedi #include <rte_memzone.h> 171159d8fbSAnkur Dwivedi #include <rte_trace_point.h> 181159d8fbSAnkur Dwivedi 19*719834a6SMattias Rönnblom #ifdef __cplusplus 20*719834a6SMattias Rönnblom extern "C" { 21*719834a6SMattias Rönnblom #endif 22*719834a6SMattias Rönnblom 231159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 241159d8fbSAnkur Dwivedi rte_mempool_trace_create, 251159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts, 261159d8fbSAnkur Dwivedi uint32_t elt_size, uint32_t cache_size, 271159d8fbSAnkur Dwivedi uint32_t private_data_size, void *mp_init, void *mp_init_arg, 281159d8fbSAnkur Dwivedi void *obj_init, void *obj_init_arg, uint32_t flags, 291159d8fbSAnkur Dwivedi struct rte_mempool *mempool), 301159d8fbSAnkur Dwivedi rte_trace_point_emit_string(name); 311159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(nb_elts); 321159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(elt_size); 331159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(cache_size); 341159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(private_data_size); 351159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mp_init); 361159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mp_init_arg); 371159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(obj_init); 381159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(obj_init_arg); 391159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(flags); 401159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 411159d8fbSAnkur Dwivedi rte_trace_point_emit_i32(mempool->ops_index); 421159d8fbSAnkur Dwivedi ) 431159d8fbSAnkur Dwivedi 441159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 451159d8fbSAnkur Dwivedi rte_mempool_trace_create_empty, 461159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts, 471159d8fbSAnkur Dwivedi uint32_t elt_size, uint32_t cache_size, 481159d8fbSAnkur Dwivedi uint32_t private_data_size, uint32_t flags, 491159d8fbSAnkur Dwivedi struct rte_mempool *mempool), 501159d8fbSAnkur Dwivedi rte_trace_point_emit_string(name); 511159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(nb_elts); 521159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(elt_size); 531159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(cache_size); 541159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(private_data_size); 551159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(flags); 561159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 571159d8fbSAnkur Dwivedi rte_trace_point_emit_i32(mempool->ops_index); 581159d8fbSAnkur Dwivedi ) 591159d8fbSAnkur Dwivedi 601159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 611159d8fbSAnkur Dwivedi rte_mempool_trace_free, 621159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool), 631159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 641159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 651159d8fbSAnkur Dwivedi ) 661159d8fbSAnkur Dwivedi 671159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 681159d8fbSAnkur Dwivedi rte_mempool_trace_populate_iova, 691159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, void *vaddr, 701159d8fbSAnkur Dwivedi rte_iova_t iova, size_t len, void *free_cb, void *opaque), 711159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 721159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 731159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(vaddr); 741159d8fbSAnkur Dwivedi rte_trace_point_emit_u64(iova); 751159d8fbSAnkur Dwivedi rte_trace_point_emit_size_t(len); 761159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(free_cb); 771159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(opaque); 781159d8fbSAnkur Dwivedi ) 791159d8fbSAnkur Dwivedi 801159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 811159d8fbSAnkur Dwivedi rte_mempool_trace_populate_virt, 821159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, void *addr, 831159d8fbSAnkur Dwivedi size_t len, size_t pg_sz, void *free_cb, void *opaque), 841159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 851159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 861159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(addr); 871159d8fbSAnkur Dwivedi rte_trace_point_emit_size_t(len); 881159d8fbSAnkur Dwivedi rte_trace_point_emit_size_t(pg_sz); 891159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(free_cb); 901159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(opaque); 911159d8fbSAnkur Dwivedi ) 921159d8fbSAnkur Dwivedi 931159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 941159d8fbSAnkur Dwivedi rte_mempool_trace_populate_default, 951159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool), 961159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 971159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 981159d8fbSAnkur Dwivedi ) 991159d8fbSAnkur Dwivedi 1001159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1011159d8fbSAnkur Dwivedi rte_mempool_trace_populate_anon, 1021159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool), 1031159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 1041159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 1051159d8fbSAnkur Dwivedi ) 1061159d8fbSAnkur Dwivedi 1071159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1081159d8fbSAnkur Dwivedi rte_mempool_trace_cache_create, 1091159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(uint32_t size, int socket_id, 1101159d8fbSAnkur Dwivedi struct rte_mempool_cache *cache), 1111159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(size); 1121159d8fbSAnkur Dwivedi rte_trace_point_emit_i32(socket_id); 1131159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(cache); 1141159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(cache->len); 1151159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(cache->flushthresh); 1161159d8fbSAnkur Dwivedi ) 1171159d8fbSAnkur Dwivedi 1181159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1191159d8fbSAnkur Dwivedi rte_mempool_trace_cache_free, 1201159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(void *cache), 1211159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(cache); 1221159d8fbSAnkur Dwivedi ) 1231159d8fbSAnkur Dwivedi 1241159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1251159d8fbSAnkur Dwivedi rte_mempool_trace_get_page_size, 1261159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, size_t pg_sz), 1271159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 1281159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 1291159d8fbSAnkur Dwivedi rte_trace_point_emit_size_t(pg_sz); 1301159d8fbSAnkur Dwivedi ) 1311159d8fbSAnkur Dwivedi 1321159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1331159d8fbSAnkur Dwivedi rte_mempool_trace_ops_populate, 1341159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, uint32_t max_objs, 1351159d8fbSAnkur Dwivedi void *vaddr, uint64_t iova, size_t len, void *obj_cb, 1361159d8fbSAnkur Dwivedi void *obj_cb_arg), 1371159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 1381159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 1391159d8fbSAnkur Dwivedi rte_trace_point_emit_u32(max_objs); 1401159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(vaddr); 1411159d8fbSAnkur Dwivedi rte_trace_point_emit_u64(iova); 1421159d8fbSAnkur Dwivedi rte_trace_point_emit_size_t(len); 1431159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(obj_cb); 1441159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(obj_cb_arg); 1451159d8fbSAnkur Dwivedi ) 1461159d8fbSAnkur Dwivedi 1471159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1481159d8fbSAnkur Dwivedi rte_mempool_trace_ops_alloc, 1491159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool), 1501159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 1511159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 1521159d8fbSAnkur Dwivedi ) 1531159d8fbSAnkur Dwivedi 1541159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1551159d8fbSAnkur Dwivedi rte_mempool_trace_ops_free, 1561159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool), 1571159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 1581159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 1591159d8fbSAnkur Dwivedi ) 1601159d8fbSAnkur Dwivedi 1611159d8fbSAnkur Dwivedi RTE_TRACE_POINT( 1621159d8fbSAnkur Dwivedi rte_mempool_trace_set_ops_byname, 1631159d8fbSAnkur Dwivedi RTE_TRACE_POINT_ARGS(struct rte_mempool *mempool, const char *name, 1641159d8fbSAnkur Dwivedi void *pool_config), 1651159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(mempool); 1661159d8fbSAnkur Dwivedi rte_trace_point_emit_string(mempool->name); 1671159d8fbSAnkur Dwivedi rte_trace_point_emit_string(name); 1681159d8fbSAnkur Dwivedi rte_trace_point_emit_ptr(pool_config); 1691159d8fbSAnkur Dwivedi ) 1701159d8fbSAnkur Dwivedi 1711159d8fbSAnkur Dwivedi #ifdef __cplusplus 1721159d8fbSAnkur Dwivedi } 1731159d8fbSAnkur Dwivedi #endif 1741159d8fbSAnkur Dwivedi 1751159d8fbSAnkur Dwivedi #endif /* MEMPOOL_TRACE_H */ 176