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