From: Thomas Monjalon Date: Fri, 31 Jul 2020 16:03:49 +0000 (+0200) Subject: doc: announce mbuf layout change X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=67c28d4b7774bdbedb5c9a83f5e13dbf27b85f4a;p=dpdk.git doc: announce mbuf layout change In order to prepare for adding more features requiring more space in mbuf, some static fields must become dynamic. Some small layout changes may have performance benefits as well. The deprecation notice for atomic refcount is moved and reworded to fit below the layout deprecation. Signed-off-by: Thomas Monjalon Acked-by: Olivier Matz Acked-by: Andrew Rybchenko Acked-by: David Marchand --- diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 86a1ecb0b8..d81361bffd 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -92,6 +92,27 @@ Deprecation Notices will be removed as it gave no useful abstracted information to the applications and had no user (neither internal nor external). +* mbuf: Some fields will be converted to dynamic API in DPDK 20.11 + in order to reserve more space for the dynamic fields, as explained in + `this presentation `_. + The following static fields will be moved as dynamic: + + - ``timestamp`` + - ``userdata`` / ``udata64`` + - ``seqn`` + + As a consequence, the layout of the ``struct rte_mbuf`` will be re-arranged, + 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. + * ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible will be done in 20.11. Currently the ``struct eth_dev_ops`` struct is accessible by the application @@ -177,12 +198,6 @@ Deprecation Notices in "rte_sched.h". These changes are aligned to improvements suggested in the RFC https://mails.dpdk.org/archives/dev/2018-November/120035.html. -* 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 it will be of type ``uint16_t``. ``refcnt_atomic`` - will be removed in 20.11. It will be replaced with ``refcnt`` of type - ``uint16_t``. - * metrics: The function ``rte_metrics_init`` will have a non-void return in order to notify errors instead of calling ``rte_exit``.