Rename macros that calculate a mempool cache flush threshold, and move them from rte_mempool.c to rte_mempool.h, so that the bonding driver can accurately calculate its mbuf requirements.
Signed-off-by: Robert Sanford <rsanford at akamai.com> --- lib/librte_mempool/rte_mempool.c | 8 ++------ lib/librte_mempool/rte_mempool.h | 7 +++++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 2e28e2e..cca4843 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -69,10 +69,6 @@ static struct rte_tailq_elem rte_mempool_tailq = { }; EAL_REGISTER_TAILQ(rte_mempool_tailq) -#define CACHE_FLUSHTHRESH_MULTIPLIER 1.5 -#define CALC_CACHE_FLUSHTHRESH(c) \ - ((typeof(c))((c) * CACHE_FLUSHTHRESH_MULTIPLIER)) - /* * return the greatest common divisor between a and b (fast algorithm) * @@ -686,7 +682,7 @@ static void mempool_cache_init(struct rte_mempool_cache *cache, uint32_t size) { cache->size = size; - cache->flushthresh = CALC_CACHE_FLUSHTHRESH(size); + cache->flushthresh = RTE_MEMPOOL_CALC_CACHE_FLUSHTHRESH(size); cache->len = 0; } @@ -762,7 +758,7 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size, /* asked cache too big */ if (cache_size > RTE_MEMPOOL_CACHE_MAX_SIZE || - CALC_CACHE_FLUSHTHRESH(cache_size) > n) { + RTE_MEMPOOL_CALC_CACHE_FLUSHTHRESH(cache_size) > n) { rte_errno = EINVAL; return NULL; } diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index 059ad9e..4323c1b 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -263,6 +263,13 @@ struct rte_mempool { #define MEMPOOL_F_NO_PHYS_CONTIG 0x0020 /**< Don't need physically contiguous objs. */ /** + * Calculate the threshold before we flush excess elements. + */ +#define RTE_MEMPOOL_CACHE_FLUSHTHRESH_MULTIPLIER 1.5 +#define RTE_MEMPOOL_CALC_CACHE_FLUSHTHRESH(c) \ + ((typeof(c))((c) * RTE_MEMPOOL_CACHE_FLUSHTHRESH_MULTIPLIER)) + +/** * @internal When debug is enabled, store some statistics. * * @param mp -- 1.7.1