diff mbox series

[v3] mbuf: remove atomic reference counters

Message ID 20200914122557.95278-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Headers show
Series [v3] mbuf: remove atomic reference counters | expand

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/checkpatch success coding style OK

Commit Message

Thomas Monjalon Sept. 14, 2020, 12:25 p.m. UTC
From: Phil Yang <phil.yang@arm.com>

Remove the deprecated refcnt_atomic union fields in
rte_mbuf and rte_mbuf_ext_shared_info structures.

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng wang <ruifeng.wang@arm.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
v2:
    - squashed
    - removed deprecation notice
    - updated release notes (in API section)
v3:
    - re-sent with --in-reply-to
    - added Andrew's ack
---
 doc/guides/rel_notes/deprecation.rst   |  8 +-------
 doc/guides/rel_notes/release_20_11.rst |  4 ++++
 lib/librte_mbuf/rte_mbuf_core.h        | 13 ++-----------
 3 files changed, 7 insertions(+), 18 deletions(-)

Comments

Thomas Monjalon Sept. 14, 2020, 12:35 p.m. UTC | #1
I wrote:
> From: Phil Yang <phil.yang@arm.com>
> 
> Remove the deprecated refcnt_atomic union fields in
> rte_mbuf and rte_mbuf_ext_shared_info structures.
> 
> Signed-off-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Ruifeng wang <ruifeng.wang@arm.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> 
> v2:
>     - squashed
>     - removed deprecation notice
>     - updated release notes (in API section)
> 
> v3:
>     - re-sent with --in-reply-to
>     - added Andrew's ack

The ack is missing above,
Anyway, applied with the ack :)
Phil Yang Sept. 14, 2020, 1:48 p.m. UTC | #2
Thomas Monjalon <thomas@monjalon.net> writes:

> >
> > Remove the deprecated refcnt_atomic union fields in
> > rte_mbuf and rte_mbuf_ext_shared_info structures.
> >
> > Signed-off-by: Phil Yang <phil.yang@arm.com>
> > Reviewed-by: Ruifeng wang <ruifeng.wang@arm.com>
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> >
> > v2:
> >     - squashed
> >     - removed deprecation notice
> >     - updated release notes (in API section)
> >
> > v3:
> >     - re-sent with --in-reply-to
> >     - added Andrew's ack
> 
> The ack is missing above,
> Anyway, applied with the ack :)

Thank you. 😊
diff mbox series

Patch

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 88d7d07613..52168f7751 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -148,13 +148,7 @@  Deprecation Notices
   avoiding impact on vectorized implementation of the driver datapaths,
   while evaluating performance gains of a better use of the first cache line.
 
-  The deprecated unioned fields ``buf_physaddr`` and ``refcnt_atomic``
-  (as explained below) will be removed in DPDK 20.11.
-
-* mbuf: ``refcnt_atomic`` member in structures ``rte_mbuf`` and
-  ``rte_mbuf_ext_shared_info`` is of type ``rte_atomic16_t``.
-  Due to adoption of C11 atomic builtins, the field ``refcnt_atomic``
-  will be replaced with ``refcnt`` of type ``uint16_t`` in DPDK 20.11.
+  The deprecated unioned field ``buf_physaddr`` will be removed in DPDK 20.11.
 
 * ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible
   will be done in 20.11.
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 667e3d54ad..b729bdf200 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,10 @@  API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* 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.
+
 * rawdev: Added a structure size parameter to the functions
   ``rte_rawdev_queue_setup()``, ``rte_rawdev_queue_conf_get()``,
   ``rte_rawdev_info_get()`` and ``rte_rawdev_configure()``,
diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
index 8cd7137ac5..cee3d5aff5 100644
--- a/lib/librte_mbuf/rte_mbuf_core.h
+++ b/lib/librte_mbuf/rte_mbuf_core.h
@@ -495,12 +495,7 @@  struct rte_mbuf {
 	 * or non-atomic) is controlled by the CONFIG_RTE_MBUF_REFCNT_ATOMIC
 	 * config option.
 	 */
-	RTE_STD_C11
-	union {
-		rte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */
-		/** Non-atomically accessed refcnt */
-		uint16_t refcnt;
-	};
+	uint16_t refcnt;
 	uint16_t nb_segs;         /**< Number of segments. */
 
 	/** Input port (16 bits to support more than 256 virtual ports).
@@ -679,11 +674,7 @@  typedef void (*rte_mbuf_extbuf_free_callback_t)(void *addr, void *opaque);
 struct rte_mbuf_ext_shared_info {
 	rte_mbuf_extbuf_free_callback_t free_cb; /**< Free callback function */
 	void *fcb_opaque;                        /**< Free callback argument */
-	RTE_STD_C11
-	union {
-		rte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */
-		uint16_t refcnt;
-	};
+	uint16_t refcnt;
 };
 
 /**< Maximum number of nb_segs allowed. */