31#ifndef EM_POOL_INLINE_H_
32#define EM_POOL_INLINE_H_
55pool_hdl2idx(em_pool_t pool)
57 return (
int)(uintptr_t)pool - 1;
61static inline em_pool_t
62pool_idx2hdl(
int pool_idx)
64 return (em_pool_t)(uintptr_t)(pool_idx + 1);
69pool_elem_get(em_pool_t pool)
71 const int pool_idx = pool_hdl2idx(pool);
77 mpool_elem = &
em_shm->mpool_tbl.pool[pool_idx];
89pool_find_subpool(
const mpool_elem_t *
const pool_elem, uint32_t size)
95 size > pool_elem->
size[subpool]; subpool++)
111static inline em_pool_t
112pool_odp2em(odp_pool_t odp_pool)
119 int idx = odp_pool_index(odp_pool);
121 if (unlikely(idx < 0))
124 return (em_pool_t)(uintptr_t)
em_shm->mpool_tbl.pool_subpool_odp2em[idx].pool;
135pool_subpool_odp2em(odp_pool_t odp_pool)
142 int idx = odp_pool_index(odp_pool);
144 if (unlikely(idx < 0))
145 return pool_subpool_undef;
147 return em_shm->mpool_tbl.pool_subpool_odp2em[idx];
objpool_elem_t objpool_elem