1*6bfe74f8SJasvinder Singh /* SPDX-License-Identifier: BSD-3-Clause 2*6bfe74f8SJasvinder Singh * Copyright(c) 2010-2018 Intel Corporation 3*6bfe74f8SJasvinder Singh */ 4*6bfe74f8SJasvinder Singh 5*6bfe74f8SJasvinder Singh #ifndef _INCLUDE_MEMPOOL_H_ 6*6bfe74f8SJasvinder Singh #define _INCLUDE_MEMPOOL_H_ 7*6bfe74f8SJasvinder Singh 8*6bfe74f8SJasvinder Singh #include <stdint.h> 9*6bfe74f8SJasvinder Singh #include <sys/queue.h> 10*6bfe74f8SJasvinder Singh 11*6bfe74f8SJasvinder Singh #include <rte_mempool.h> 12*6bfe74f8SJasvinder Singh 13*6bfe74f8SJasvinder Singh #include "common.h" 14*6bfe74f8SJasvinder Singh 15*6bfe74f8SJasvinder Singh struct mempool { 16*6bfe74f8SJasvinder Singh TAILQ_ENTRY(mempool) node; 17*6bfe74f8SJasvinder Singh char name[NAME_SIZE]; 18*6bfe74f8SJasvinder Singh struct rte_mempool *m; 19*6bfe74f8SJasvinder Singh uint32_t buffer_size; 20*6bfe74f8SJasvinder Singh }; 21*6bfe74f8SJasvinder Singh 22*6bfe74f8SJasvinder Singh TAILQ_HEAD(mempool_list, mempool); 23*6bfe74f8SJasvinder Singh 24*6bfe74f8SJasvinder Singh int 25*6bfe74f8SJasvinder Singh mempool_init(void); 26*6bfe74f8SJasvinder Singh 27*6bfe74f8SJasvinder Singh struct mempool * 28*6bfe74f8SJasvinder Singh mempool_find(const char *name); 29*6bfe74f8SJasvinder Singh 30*6bfe74f8SJasvinder Singh struct mempool_params { 31*6bfe74f8SJasvinder Singh uint32_t buffer_size; 32*6bfe74f8SJasvinder Singh uint32_t pool_size; 33*6bfe74f8SJasvinder Singh uint32_t cache_size; 34*6bfe74f8SJasvinder Singh uint32_t cpu_id; 35*6bfe74f8SJasvinder Singh }; 36*6bfe74f8SJasvinder Singh 37*6bfe74f8SJasvinder Singh struct mempool * 38*6bfe74f8SJasvinder Singh mempool_create(const char *name, struct mempool_params *params); 39*6bfe74f8SJasvinder Singh 40*6bfe74f8SJasvinder Singh #endif /* _INCLUDE_MEMPOOL_H_ */ 41