Storing the pointer to the memzone instead of the physical address
provides more information than just the physical address: for instance,
the memzone flags.

Moreover, keeping the memzone pointer will allow us to free the mempool
(this is done later in the series).

Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
---
 lib/librte_mempool/rte_mempool.c | 4 ++--
 lib/librte_mempool/rte_mempool.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c
index 54f2ab2..7336616 100644
--- a/lib/librte_mempool/rte_mempool.c
+++ b/lib/librte_mempool/rte_mempool.c
@@ -719,7 +719,7 @@ rte_mempool_xmem_create(const char *name, unsigned n, 
unsigned elt_size,
        /* init the mempool structure */
        memset(mp, 0, sizeof(*mp));
        snprintf(mp->name, sizeof(mp->name), "%s", name);
-       mp->phys_addr = mz->phys_addr;
+       mp->mz = mz;
        mp->socket_id = socket_id;
        mp->size = n;
        mp->flags = flags;
@@ -983,7 +983,7 @@ rte_mempool_dump(FILE *f, struct rte_mempool *mp)
        fprintf(f, "mempool <%s>@%p\n", mp->name, mp);
        fprintf(f, "  flags=%x\n", mp->flags);
        fprintf(f, "  ring=<%s>@%p\n", mp->ring->name, mp->ring);
-       fprintf(f, "  phys_addr=0x%" PRIx64 "\n", mp->phys_addr);
+       fprintf(f, "  phys_addr=0x%" PRIx64 "\n", mp->mz->phys_addr);
        fprintf(f, "  nb_mem_chunks=%u\n", mp->nb_mem_chunks);
        fprintf(f, "  size=%"PRIu32"\n", mp->size);
        fprintf(f, "  populated_size=%"PRIu32"\n", mp->populated_size);
diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index 82b0334..4a8c76b 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -203,7 +203,7 @@ struct rte_mempool_memhdr {
 struct rte_mempool {
        char name[RTE_MEMPOOL_NAMESIZE]; /**< Name of mempool. */
        struct rte_ring *ring;           /**< Ring to store objects. */
-       phys_addr_t phys_addr;           /**< Phys. addr. of mempool struct. */
+       const struct rte_memzone *mz;    /**< Memzone where mempool is 
allocated */
        int flags;                       /**< Flags of the mempool. */
        int socket_id;                   /**< Socket id passed at mempool 
creation. */
        uint32_t size;                   /**< Max size of the mempool. */
-- 
2.1.4

Reply via email to