| 46 | } |
| 47 | |
| 48 | void * |
| 49 | tb_alloc(struct tb_mem_pool *pool, size_t size) |
| 50 | { |
| 51 | struct tb_mem_block *block; |
| 52 | void *ptr; |
| 53 | size_t new_sz; |
| 54 | |
| 55 | size = RTE_ALIGN_CEIL(size, pool->alignment); |
| 56 | |
| 57 | block = pool->block; |
| 58 | if (block == NULL || block->size < size) { |
| 59 | new_sz = (size > pool->min_alloc) ? size : pool->min_alloc; |
| 60 | block = tb_pool(pool, new_sz); |
| 61 | } |
| 62 | ptr = block->mem; |
| 63 | block->size -= size; |
| 64 | block->mem += size; |
| 65 | return ptr; |
| 66 | } |
| 67 | |
| 68 | void |
| 69 | tb_free_pool(struct tb_mem_pool *pool) |
no test coverage detected