[dpdk-dev] [PATCH 2/4] mempool: make cache flush threshold macro public
Sanford, Robert
rsanford at akamai.com
Tue Aug 23 18:07:38 CEST 2016
Hi Olivier,
On 8/23/16, 11:09 AM, "Olivier MATZ" <olivier.matz at 6wind.com> wrote:
Hi Robert,
On 08/01/2016 10:42 PM, Robert Sanford wrote:
> 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(-)
>
> [...]
>
> --- 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
>
What do you think of using a static inline function instead of a macro ?
Regards,
Olivier
--
Yes, an inline function is better than a macro. We still need to move the #define MULTIPLIER from rte_mempool.c to rte_mempool.h.
How is this for the prototype?
static inline unsigned rte_mempool_calc_cache_flushthresh(unsigned cache_size)
Where in the .h should we place the function, right below the MULTIPLIER definition?
Regards,
Robert
More information about the dev
mailing list