On 17/09/2020 11:41, Thomas Monjalon wrote: > Remove the deprecated unioned fields physaddr and phys_addr > from the structures rte_mempool_objhdr and rte_mempool_memhdr. > They are replaced with the fields iova which are at the same offsets. > > Remove the deprecated macro MEMPOOL_F_NO_PHYS_CONTIG > which is an alias of the more recent MEMPOOL_F_NO_IOVA_CONTIG. > > Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > Acked-by: Andrew Rybchenko <arybche...@solarflare.com> > --- > doc/guides/rel_notes/release_20_11.rst | 6 ++++++ > lib/librte_mempool/rte_mempool.h | 13 ++----------- > 2 files changed, 8 insertions(+), 11 deletions(-) > > diff --git a/doc/guides/rel_notes/release_20_11.rst > b/doc/guides/rel_notes/release_20_11.rst > index c49e612c43..71f970f1ac 100644 > --- a/doc/guides/rel_notes/release_20_11.rst > +++ b/doc/guides/rel_notes/release_20_11.rst > @@ -88,6 +88,12 @@ API Changes > the structures ``rte_memseg`` and ``rte_memzone``. > The field ``iova`` is remaining from the old unions. > > +* mempool: Removed the unioned fields ``phys_addr`` and ``physaddr`` from > + the structures ``rte_mempool_memhdr`` and ``rte_mempool_objhdr``. > + The field ``iova`` is remaining from the old unions. > + The flag name ``MEMPOOL_F_NO_PHYS_CONTIG`` is removed, > + while the aliased flag ``MEMPOOL_F_NO_IOVA_CONTIG`` is kept. > + > * mbuf: Removed the unioned field ``refcnt_atomic`` from > the structures ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``. > The field ``refcnt`` is remaining from the old unions. > diff --git a/lib/librte_mempool/rte_mempool.h > b/lib/librte_mempool/rte_mempool.h > index 6ad7e31170..9ea7ff934c 100644 > --- a/lib/librte_mempool/rte_mempool.h > +++ b/lib/librte_mempool/rte_mempool.h > @@ -138,11 +138,7 @@ struct rte_mempool_objsz { > struct rte_mempool_objhdr { > STAILQ_ENTRY(rte_mempool_objhdr) next; /**< Next in list. */ > struct rte_mempool *mp; /**< The mempool owning the object. */ > - RTE_STD_C11 > - union { > - rte_iova_t iova; /**< IO address of the object. */ > - phys_addr_t physaddr; /**< deprecated - Physical address of > the object. */ > - }; > + rte_iova_t iova; /**< IO address of the object. */ > #ifdef RTE_LIBRTE_MEMPOOL_DEBUG > uint64_t cookie; /**< Debug cookie. */ > #endif > @@ -188,11 +184,7 @@ struct rte_mempool_memhdr { > STAILQ_ENTRY(rte_mempool_memhdr) next; /**< Next in list. */ > struct rte_mempool *mp; /**< The mempool owning the chunk */ > void *addr; /**< Virtual address of the chunk */ > - RTE_STD_C11 > - union { > - rte_iova_t iova; /**< IO address of the chunk */ > - phys_addr_t phys_addr; /**< Physical address of the chunk */ > - }; > + rte_iova_t iova; /**< IO address of the chunk */ > size_t len; /**< length of the chunk */ > rte_mempool_memchunk_free_cb_t *free_cb; /**< Free callback */ > void *opaque; /**< Argument passed to the free callback */ > @@ -269,7 +261,6 @@ struct rte_mempool { > #define MEMPOOL_F_SC_GET 0x0008 /**< Default get is > "single-consumer".*/ > #define MEMPOOL_F_POOL_CREATED 0x0010 /**< Internal: pool is created. */ > #define MEMPOOL_F_NO_IOVA_CONTIG 0x0020 /**< Don't need IOVA contiguous > objs. */ > -#define MEMPOOL_F_NO_PHYS_CONTIG MEMPOOL_F_NO_IOVA_CONTIG /* deprecated */ > > /** > * @internal When debug is enabled, store some statistics. > Acked-by: Ray Kinsella <m...@ashroe.eu>