[PATCH v4 3/3] mempool: use cache for frequently updated stats
Morten Brørup
mb at smartsharesystems.com
Sun Nov 6 13:16:25 CET 2022
> From: Andrew Rybchenko [mailto:andrew.rybchenko at oktetlabs.ru]
> Sent: Sunday, 6 November 2022 13.00
>
> On 11/6/22 14:50, Morten Brørup wrote:
> >> From: Andrew Rybchenko [mailto:andrew.rybchenko at oktetlabs.ru]
> >> Sent: Sunday, 6 November 2022 12.41
> >>
> >> On 11/4/22 15:03, Morten Brørup wrote:
> >
> > [...]
> >
> >>> +/**
> >>> + * @internal When stats is enabled, store some statistics.
> >>> + *
> >>> + * @param cache
> >>> + * Pointer to the memory pool cache.
> >>> + * @param name
> >>> + * Name of the statistics field to increment in the memory pool
> >> cache.
> >>> + * @param n
> >>> + * Number to add to the statistics.
> >>> + */
> >>> +#ifdef RTE_LIBRTE_MEMPOOL_STATS
> >>> +#define RTE_MEMPOOL_CACHE_STAT_ADD(cache, name, n) (cache)-
> >>> stats.name += n
> >>
> >> I'd enclose it in parenthesis.
> >
> > Me too! I had it surrounded by "do {...} while (0)" in v3, but
> checkpatch complained about it [1], so I changed it to the above. Which
> checkpatch also complains about. :-(
>
> I mean
> #define RTE_MEMPOOL_CACHE_STAT_ADD(cache, name, n) \
> ((cache)->stats.name += (n))
Thank you for elaborating, Andrew. I guess this is exactly what the checkpatch error message for v4 [2] says - I just couldn't understand what it wanted me to do.
[2]: http://mails.dpdk.org/archives/test-report/2022-November/321345.html
I don't always agree with checkpatch, but now Thomas has a third option for how to write this macro when merging. :-)
>
> >
> > [1]: http://mails.dpdk.org/archives/test-report/2022-
> November/321316.html
>
> Yes, I've seen it.
>
> >
> > Feel free to modify this macro at your preference when merging!
> >
> >>
> >>> +#else
> >>> +#define RTE_MEMPOOL_CACHE_STAT_ADD(cache, name, n) do {} while (0)
> >>> +#endif
> >>> +
More information about the dev
mailing list