From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier Matz Subject: [PATCH v3 23/35] mempool: replace physical address by a memzone pointer Date: Wed, 18 May 2016 13:04:44 +0200 Message-ID: <1463569496-31086-24-git-send-email-olivier.matz@6wind.com> References: <1460629199-32489-1-git-send-email-olivier.matz@6wind.com> <1463569496-31086-1-git-send-email-olivier.matz@6wind.com> Cc: bruce.richardson@intel.com, stephen@networkplumber.org, keith.wiles@intel.com To: dev@dpdk.org Return-path: Received: from proxy.6wind.com (host.76.145.23.62.rev.coltfrance.com [62.23.145.76]) by dpdk.org (Postfix) with ESMTP id 104B82946 for ; Wed, 18 May 2016 13:05:16 +0200 (CEST) In-Reply-To: <1463569496-31086-1-git-send-email-olivier.matz@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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 88c5780..891458a 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -725,7 +725,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; @@ -993,7 +993,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 e0aa698..13bd56b 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -204,7 +204,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 pool 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.8.0.rc3