[dpdk-dev] [PATCH v2 2/4] mempool: remove physical address aliases

Kinsella, Ray mdr at ashroe.eu
Fri Sep 18 16:39:10 CEST 2020



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 <thomas at monjalon.net>
> Acked-by: Andrew Rybchenko <arybchenko at 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 <mdr at ashroe.eu>


More information about the dev mailing list