11 #ifndef ODP_API_SPEC_POOL_TYPES_H_
12 #define ODP_API_SPEC_POOL_TYPES_H_
13 #include <odp/visibility_begin.h>
48 #define ODP_POOL_MAX_SUBPARAMS 7
657 #define ODP_POOL_POPULATE_DONE 0x1
798 void (*
init_fn)(
void *uarea, uint32_t size,
void *
args, uint32_t index);
945 #include <odp/visibility_end.h>
ODP Machine Learning (ML) types.
Standard C language types and definitions for ODP.
union odp_pool_stats_opt_t odp_pool_stats_opt_t
Pool statistics counters options.
#define ODP_POOL_MAX_SUBPARAMS
Maximum number of packet pool subparameters.
#define ODP_POOL_MAX_THREAD_STATS
Maximum number of per thread statistics a single odp_pool_stats() call can read.
struct odp_pool_param_t odp_pool_param_t
Pool parameters.
struct odp_pool_ext_param_t odp_pool_ext_param_t
External memory pool parameters.
struct odp_pool_capability_t odp_pool_capability_t
Pool capabilities.
odp_pool_type_t
Pool types.
struct odp_pool_pkt_subparam_t odp_pool_pkt_subparam_t
Packet pool subparameters.
struct odp_pool_ext_capability_t odp_pool_ext_capability_t
External memory pool capabilities.
struct odp_pool_stats_t odp_pool_stats_t
Pool statistics counters.
struct odp_pool_info_t odp_pool_info_t
Pool information struct Used to get information about a pool.
struct odp_pool_stats_selected_t odp_pool_stats_selected_t
Pool statistics counters.
@ ODP_POOL_TIMEOUT
Timeout pool.
@ ODP_POOL_VECTOR
Vector event pool.
@ ODP_POOL_BUFFER
Buffer pool.
@ ODP_POOL_PACKET
Packet pool.
@ ODP_POOL_DMA_COMPL
DMA completion event pool.
@ ODP_POOL_ML_COMPL
ML completion event pool.
bool odp_bool_t
Boolean type.
DMA completion event pool parameters.
ML completion event pool parameters.
struct odp_pool_capability_t::@121 buf
Buffer pool capabilities
uint32_t max_align
Maximum buffer data alignment in bytes.
uint32_t max_headroom
Maximum packet level headroom length in bytes.
uint32_t min_headroom
Minimum packet level headroom length in bytes.
struct odp_pool_capability_t::@122 pkt
Packet pool capabilities
uint32_t max_num
Maximum number of buffers of any size.
struct odp_pool_capability_t::@123 tmo
Timeout pool capabilities
uint32_t min_cache_size
Minimum size of thread local cache.
uint32_t max_segs_per_pkt
Maximum number of segments per packet.
odp_bool_t uarea_persistence
Pool user area persistence.
uint32_t max_uarea_size
Maximum user area size in bytes.
struct odp_pool_capability_t::@124 vector
Vector pool capabilities.
uint32_t max_size
Maximum buffer data size in bytes.
uint8_t max_num_subparam
Maximum number of subparameters.
odp_pool_stats_opt_t stats
Supported statistics counters.
uint32_t max_cache_size
Maximum size of thread local cache.
uint32_t min_seg_len
Minimum packet segment data length in bytes.
uint32_t max_pools
Maximum number of pools of any type (odp_pool_type_t)
uint32_t min_tailroom
Minimum packet level tailroom length in bytes.
uint32_t max_seg_len
Maximum packet segment data length in bytes.
uint32_t max_len
Maximum packet data length in bytes.
External memory pool capabilities.
uint16_t buf_size_aligned
Packet buffers are size aligned.
uint32_t max_pools
Maximum number of pools.
uint32_t max_num_buf
Maximum number of packet buffers.
odp_bool_t uarea_persistence
Pool user area persistence.
uint32_t max_segs_per_pkt
Maximum number of segments per packet.
uint32_t max_headroom
Maximum headroom parameter value.
uint32_t odp_trailer_size
ODP trailer size in bytes.
uint32_t min_mem_align
Minimum packet pool memory area alignment in bytes.
uint32_t max_uarea_size
Maximum user area size in bytes.
uint32_t min_head_align
Minimum packet headroom alignment in bytes.
uint32_t min_cache_size
Minimum size of thread local cache.
odp_pool_type_t type
Requested pool type.
odp_pool_stats_opt_t stats
Supported statistics counters.
uint32_t max_headroom_size
Maximum headroom size in bytes.
struct odp_pool_ext_capability_t::@130 pkt
Packet pool capabilities
uint32_t max_cache_size
Maximum size of thread local cache.
uint32_t odp_header_size
ODP header size in bytes.
uint32_t max_buf_size
Maximum packet buffer size in bytes.
uint32_t min_buf_align
Minimum packet buffer pointer alignment in bytes.
External memory pool parameters.
struct odp_pool_ext_param_t::@133 uarea_init
Parameters for user area initialization.
struct odp_pool_ext_param_t::@134 pkt
Parameters for packet pools.
odp_pool_type_t type
Pool type.
void(* init_fn)(void *uarea, uint32_t size, void *args, uint32_t index)
See uarea_init.init_fn of odp_pool_param_t for details (odp_pool_param_t::init_fn).
uint32_t uarea_size
User area size.
uint32_t app_header_size
Application header size.
uint32_t headroom
Minimum headroom size.
uint32_t cache_size
Maximum thread local cache size for the pool.
void * args
See uarea_init.args of odp_pool_param_t for details (odp_pool_param_t::args).
odp_pool_stats_opt_t stats
Pool statistics configuration.
uint32_t buf_size
Packet buffer size.
uint32_t num_buf
Number of packet buffers.
Pool information struct Used to get information about a pool.
odp_dma_pool_param_t dma_pool_param
Copy of pool parameters when pool type is ODP_POOL_DMA_COMPL.
uint32_t max_num
Maximum number of packets of any length.
odp_pool_ext_param_t pool_ext_param
Copy of external memory pool parameters.
odp_ml_compl_pool_param_t ml_pool_param
Copy of pool parameters when pool type is ODP_POOL_ML_COMPL.
uintptr_t min_data_addr
Minimum data address.
const char * name
Pool name.
odp_pool_type_t type
Pool type.
struct odp_pool_info_t::@137 pkt
Additional info for packet pools.
odp_pool_param_t params
Copy of pool parameters.
odp_bool_t pool_ext
External memory pool.
uintptr_t max_data_addr
Maximum data address.
uint32_t uarea_size
Minimum user area size in bytes.
void * args
Pointer to application defined arguments to be passed to every call of init_fn.
uint32_t num
Number of buffers in the pool.
uint32_t max_len
Maximum packet length that will be allocated from the pool.
uint32_t align
Minimum buffer alignment in bytes.
uint32_t headroom
Minimum headroom size in bytes.
struct odp_pool_param_t::@127 tmo
Parameters for timeout pools.
odp_pool_pkt_subparam_t sub[ODP_POOL_MAX_SUBPARAMS]
Subparameter table.
uint32_t cache_size
Maximum number of buffers cached locally per thread.
uint8_t num_subparam
Number of subparameters.
void(* init_fn)(void *uarea, uint32_t size, void *args, uint32_t index)
User area initialization function.
uint32_t size
Minimum buffer size in bytes.
uint32_t max_num
Maximum number of packets.
odp_pool_type_t type
Pool type.
uint32_t len
Minimum length of 'num' packets.
uint32_t max_size
Maximum number of handles (such as odp_packet_t) in a vector.
uint32_t seg_len
Minimum number of packet data bytes that can be stored in the first segment of a newly allocated pack...
struct odp_pool_param_t::@126 pkt
Parameters for packet pools.
struct odp_pool_param_t::@128 vector
Parameters for vector pools.
odp_pool_stats_opt_t stats
Configure statistics counters.
struct odp_pool_param_t::@129 uarea_init
Parameters for user area initialization.
struct odp_pool_param_t::@125 buf
Parameters for buffer pools.
Packet pool subparameters.
uint32_t len
Packet length in bytes.
uint32_t num
Number of 'len' byte packets.
Pool statistics counters.
uint64_t cache_free_ops
See odp_pool_stats_t::cache_free_ops.
uint64_t cache_alloc_ops
See odp_pool_stats_t::cache_alloc_ops.
uint64_t cache_available
See odp_pool_stats_t::cache_available.
uint64_t free_ops
See odp_pool_stats_t::free_ops.
uint64_t available
See odp_pool_stats_t::available.
uint64_t total_ops
See odp_pool_stats_t::total_ops.
uint64_t alloc_ops
See odp_pool_stats_t::alloc_ops.
uint64_t alloc_fails
See odp_pool_stats_t::alloc_fails.
Pool statistics counters.
uint64_t alloc_ops
The number of alloc operations from the pool.
uint64_t available
The number of available events in the pool.
uint16_t first
First thread identifier to read counters from.
struct odp_pool_stats_t::@120 thread
Per thread counters.
uint64_t free_ops
The number of free operations to the pool.
uint64_t cache_free_ops
The number of free operations, which stored events to pool caches.
uint64_t alloc_fails
The number of failed alloc operations (pool empty)
uint64_t total_ops
The total number of alloc and free operations.
uint64_t cache_alloc_ops
The number of successful alloc operations from pool caches (returned at least one event).
uint64_t cache_available
The number of available events in the local caches of all threads.
uint16_t last
Last thread identifier to read counters from.
Pool statistics counters options.
uint64_t total_ops
See odp_pool_stats_t::total_ops.
uint64_t cache_free_ops
See odp_pool_stats_t::cache_free_ops.
uint64_t cache_available
See odp_pool_stats_t::cache_available.
struct odp_pool_stats_opt_t::@119 bit
Option flags.
uint64_t alloc_fails
See odp_pool_stats_t::alloc_fails.
uint64_t thread_cache_available
See odp_pool_stats_t::thread::cache_available.
uint64_t free_ops
See odp_pool_stats_t::free_ops.
uint64_t alloc_ops
See odp_pool_stats_t::alloc_ops.
uint64_t available
See odp_pool_stats_t::available.
uint64_t all
All bits of the bit field structure.
uint64_t cache_alloc_ops
See odp_pool_stats_t::cache_alloc_ops.