Hi Robert, On 08/23/2016 06:07 PM, Sanford, Robert wrote: > 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?
Yep, looks good, thanks. Maybe "unsigned" -> "unsigned int", because checkpatch may complain... Regards, Olivier