Since commits d2e0ca22f and 97e7e685b the headers and trailers
of the mempool are defined as a structure. We can get their
size using a sizeof instead of doing a calculation that will
become wrong at the first structure update.

Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
---
 lib/librte_mempool/rte_mempool.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c
index 8188442..ce0470d 100644
--- a/lib/librte_mempool/rte_mempool.c
+++ b/lib/librte_mempool/rte_mempool.c
@@ -264,24 +264,13 @@ rte_mempool_calc_obj_size(uint32_t elt_size, uint32_t 
flags,

        sz = (sz != NULL) ? sz : &lsz;

-       /*
-        * In header, we have at least the pointer to the pool, and
-        * optionaly a 64 bits cookie.
-        */
-       sz->header_size = 0;
-       sz->header_size += sizeof(struct rte_mempool *); /* ptr to pool */
-#ifdef RTE_LIBRTE_MEMPOOL_DEBUG
-       sz->header_size += sizeof(uint64_t); /* cookie */
-#endif
+       sz->header_size = sizeof(struct rte_mempool_objhdr);
        if ((flags & MEMPOOL_F_NO_CACHE_ALIGN) == 0)
                sz->header_size = RTE_ALIGN_CEIL(sz->header_size,
                        RTE_MEMPOOL_ALIGN);

-       /* trailer contains the cookie in debug mode */
-       sz->trailer_size = 0;
-#ifdef RTE_LIBRTE_MEMPOOL_DEBUG
-       sz->trailer_size += sizeof(uint64_t); /* cookie */
-#endif
+       sz->trailer_size = sizeof(struct rte_mempool_objtlr);
+
        /* element size is 8 bytes-aligned at least */
        sz->elt_size = RTE_ALIGN_CEIL(elt_size, sizeof(uint64_t));

-- 
2.1.4

Reply via email to