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