From patchwork Mon Jan 14 05:20:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 49780 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 74D8D1B45C; Mon, 14 Jan 2019 06:21:07 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 9A5B01B45A for ; Mon, 14 Jan 2019 06:21:05 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 14 Jan 2019 07:20:59 +0200 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x0E5Kv81006882; Mon, 14 Jan 2019 07:20:58 +0200 From: Yongseok Koh To: konstantin.ananyev@intel.com, olivier.matz@6wind.com, thomas@monjalon.net Cc: dev@dpdk.org Date: Sun, 13 Jan 2019 21:20:54 -0800 Message-Id: <20190114052055.12896-1-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH 1/2] mbuf: remove deprecated macro X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" RTE_MBUF_INDIRECT() is replaced with RTE_MBUF_CLONED() and removed. This macro was deprecated in release 18.05 when EXT_ATTACHED_MBUF was introduced. Signed-off-by: Yongseok Koh Acked-by: Andrew Rybchenko Acked-by: Olivier Matz --- doc/guides/rel_notes/deprecation.rst | 7 ------- doc/guides/rel_notes/release_19_02.rst | 3 +++ drivers/net/mlx4/mlx4_rxtx.h | 2 +- drivers/net/mlx5/mlx5_rxtx.h | 2 +- lib/librte_mbuf/rte_mbuf.h | 8 +------- test/bpf/mbuf.h | 13 ++++++++++--- 6 files changed, 16 insertions(+), 19 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index bab82865fb..5f03443f88 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -44,13 +44,6 @@ Deprecation Notices structure would be made internal (or removed if all dependencies are cleared) in future releases. -* mbuf: the macro ``RTE_MBUF_INDIRECT()`` will be removed in v18.08 or later and - replaced with ``RTE_MBUF_CLONED()`` which is already added in v18.05. As - ``EXT_ATTACHED_MBUF`` is newly introduced in v18.05, ``RTE_MBUF_INDIRECT()`` - can no longer be mutually exclusive with ``RTE_MBUF_DIRECT()`` if the new - experimental API ``rte_pktmbuf_attach_extbuf()`` is used. Removal of the macro - is to fix this semantic inconsistency. - * ethdev: the legacy filter API, including ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR, diff --git a/doc/guides/rel_notes/release_19_02.rst b/doc/guides/rel_notes/release_19_02.rst index 5a46f1acdc..c4ad072412 100644 --- a/doc/guides/rel_notes/release_19_02.rst +++ b/doc/guides/rel_notes/release_19_02.rst @@ -210,6 +210,9 @@ API Changes function from now on. Failed to do so will cause ``rte_cryptodev_sym_session_create()`` function call return error. +* mbuf: ``RTE_MBUF_INDIRECT()``, which was deprecated in 18.05, was replaced + with ``RTE_MBUF_CLONED()`` and removed in 19.02. + ABI Changes ----------- diff --git a/drivers/net/mlx4/mlx4_rxtx.h b/drivers/net/mlx4/mlx4_rxtx.h index d7ec4e0c5f..a5ef5c2ae8 100644 --- a/drivers/net/mlx4/mlx4_rxtx.h +++ b/drivers/net/mlx4/mlx4_rxtx.h @@ -179,7 +179,7 @@ uint32_t mlx4_tx_update_ext_mp(struct txq *txq, uintptr_t addr, static inline struct rte_mempool * mlx4_mb2mp(struct rte_mbuf *buf) { - if (unlikely(RTE_MBUF_INDIRECT(buf))) + if (unlikely(RTE_MBUF_CLONED(buf))) return rte_mbuf_from_indirect(buf)->pool; return buf->pool; } diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index 75194a3fac..c2529f96bc 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -622,7 +622,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq) static inline struct rte_mempool * mlx5_mb2mp(struct rte_mbuf *buf) { - if (unlikely(RTE_MBUF_INDIRECT(buf))) + if (unlikely(RTE_MBUF_CLONED(buf))) return rte_mbuf_from_indirect(buf)->pool; return buf->pool; } diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index bc562dc8a9..6f1f7e3d8e 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -831,12 +831,6 @@ rte_mbuf_to_priv(struct rte_mbuf *m) #define RTE_MBUF_CLONED(mb) ((mb)->ol_flags & IND_ATTACHED_MBUF) /** - * Deprecated. - * Use RTE_MBUF_CLONED(). - */ -#define RTE_MBUF_INDIRECT(mb) RTE_MBUF_CLONED(mb) - -/** * Returns TRUE if given mbuf has an external buffer, or FALSE otherwise. * * External buffer is a user-provided anonymous buffer. @@ -1629,7 +1623,7 @@ __rte_pktmbuf_free_direct(struct rte_mbuf *m) { struct rte_mbuf *md; - RTE_ASSERT(RTE_MBUF_INDIRECT(m)); + RTE_ASSERT(RTE_MBUF_CLONED(m)); md = rte_mbuf_from_indirect(m); diff --git a/test/bpf/mbuf.h b/test/bpf/mbuf.h index f24f908d72..b623d8694f 100644 --- a/test/bpf/mbuf.h +++ b/test/bpf/mbuf.h @@ -520,14 +520,21 @@ struct rte_mbuf { /** - * Returns TRUE if given mbuf is indirect, or FALSE otherwise. + * Returns TRUE if given mbuf is cloned by mbuf indirection, or FALSE + * otherwise. + * + * If a mbuf has its data in another mbuf and references it by mbuf + * indirection, this mbuf can be defined as a cloned mbuf. */ -#define RTE_MBUF_INDIRECT(mb) ((mb)->ol_flags & IND_ATTACHED_MBUF) +#define RTE_MBUF_CLONED(mb) ((mb)->ol_flags & IND_ATTACHED_MBUF) /** * Returns TRUE if given mbuf is direct, or FALSE otherwise. + * + * If a mbuf embeds its own data after the rte_mbuf structure, this mbuf + * can be defined as a direct mbuf. */ -#define RTE_MBUF_DIRECT(mb) (!RTE_MBUF_INDIRECT(mb)) +#define RTE_MBUF_DIRECT(mb) (!RTE_MBUF_CLONED(mb)) /** * Private data in case of pktmbuf pool. From patchwork Mon Jan 14 05:20:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yongseok Koh X-Patchwork-Id: 49781 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F32F31B489; Mon, 14 Jan 2019 06:21:08 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id 9E6321B45C for ; Mon, 14 Jan 2019 06:21:05 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 14 Jan 2019 07:21:01 +0200 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x0E5Kv82006882; Mon, 14 Jan 2019 07:21:00 +0200 From: Yongseok Koh To: konstantin.ananyev@intel.com, olivier.matz@6wind.com, thomas@monjalon.net Cc: dev@dpdk.org Date: Sun, 13 Jan 2019 21:20:55 -0800 Message-Id: <20190114052055.12896-2-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190114052055.12896-1-yskoh@mellanox.com> References: <20190114052055.12896-1-yskoh@mellanox.com> Subject: [dpdk-dev] [PATCH 2/2] mbuf: remove experimental tag of external buffer attachment X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Remove the experimental tag of rte_pktmbuf_attach_extbuf() which was introduced in 18.05. Signed-off-by: Yongseok Koh Acked-by: Andrew Rybchenko Acked-by: Olivier Matz --- lib/librte_mbuf/rte_mbuf.h | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 6f1f7e3d8e..39df7e0a9b 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -1489,13 +1489,6 @@ rte_pktmbuf_ext_shinfo_init_helper(void *buf_addr, uint16_t *buf_len, * attached with appropriate free callback and its IO address. * - Smaller metadata is required to maintain shared data such as refcnt. * - * @warning - * @b EXPERIMENTAL: This API may change without prior notice. - * Once external buffer is enabled by allowing experimental API, - * ``RTE_MBUF_DIRECT()`` and ``RTE_MBUF_INDIRECT()`` are no longer - * exclusive. A mbuf can be considered direct if it is neither indirect nor - * having external buffer. - * * @param m * The pointer to the mbuf. * @param buf_addr @@ -1507,7 +1500,7 @@ rte_pktmbuf_ext_shinfo_init_helper(void *buf_addr, uint16_t *buf_len, * @param shinfo * User-provided memory for shared data of the external buffer. */ -static inline void __rte_experimental +static inline void rte_pktmbuf_attach_extbuf(struct rte_mbuf *m, void *buf_addr, rte_iova_t buf_iova, uint16_t buf_len, struct rte_mbuf_ext_shared_info *shinfo)