> From: Mattias Rönnblom [mailto:hof...@lysator.liu.se]
> Sent: Wednesday, 2 November 2022 09.01
> 
> On 2022-10-31 12:26, Morten Brørup wrote:

[...]

> > +++ b/lib/mempool/rte_mempool.h
> > @@ -86,6 +86,21 @@ struct rte_mempool_cache {
> >     uint32_t size;        /**< Size of the cache */
> >     uint32_t flushthresh; /**< Threshold before we flush excess
> elements */
> >     uint32_t len;         /**< Current cache count */
> > +   uint32_t unused0;
> > +#ifdef RTE_LIBRTE_MEMPOOL_STATS
> > +   /*
> > +    * Alternative location for the most frequently updated mempool
> statistics (per-lcore),
> > +    * providing faster update access when using a mempool cache.
> > +    */
> > +   struct {
> > +           uint64_t put_bulk;          /**< Number of puts. */
> > +           uint64_t put_objs;          /**< Number of objects
> successfully put. */
> > +           uint64_t get_success_bulk;  /**< Successful allocation
> number. */
> > +           uint64_t get_success_objs;  /**< Objects successfully
> allocated. */
> > +   } stats;                        /**< Statistics */
> > +#else
> > +   uint64_t unused1[4];
> 
> Are a particular DPDK version supposed to be ABI compatible with
> itself,
> with different configuration options? E.g., with and without
> RTE_LIBRTE_MEMPOOL_STATS. Is that why you have those 4 unused
> uint64_ts?

Valid point: There was no ABI compatibility between with and without 
RTE_LIBRTE_MEMPOOL_STATS before this patch, so there is no need to add partial 
ABI compatibility here.

The #else part of this structure should be removed.

Does anyone disagree?

> > +#endif

Reply via email to