From: Olivier Matz <olivier.matz@6wind.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: dev@dpdk.org, ferruh.yigit@intel.com, david.marchand@redhat.com,
bruce.richardson@intel.com, andrew.rybchenko@oktetlabs.ru,
jerinj@marvell.com, viacheslavo@nvidia.com
Subject: Re: [dpdk-dev] [PATCH v5 00/16] remove mbuf timestamp
Date: Tue, 3 Nov 2020 15:17:56 +0100 [thread overview]
Message-ID: <20201103141756.GF1898@platinum> (raw)
In-Reply-To: <20201103140931.488700-1-thomas@monjalon.net>
On Tue, Nov 03, 2020 at 03:09:15PM +0100, Thomas Monjalon wrote:
> The mbuf field timestamp was announced to be removed for three reasons:
> - a dynamic field already exist, used for Tx only
> - this field always used 8 bytes even if unneeded
> - this field is in the first half (cacheline) of mbuf
>
> After this series, the dynamic field timestamp is used for both Rx and Tx
> with separate dynamic flags to distinguish when the value is meaningful
> without resetting the field during forwarding.
>
> As a consequence, 8 bytes can be re-allocated to dynamic fields
> in the first half of mbuf structure.
> It is still open to change more the mbuf layout.
>
> This mbuf layout change is important to allow adding more features
> (consuming more dynamic fields) during the next year,
> and can allow performance improvements with new usages in the first half.
>
>
> v5:
> - add a blank line between different kind of ARK variables
> - move registration after octeontx2 VF config
> - register also in otx2_nix_timesync_enable
>
> v4:
> - use local variable in nfb
> - fix flag initialization
> - remove useless blank line
>
> v3:
> - move ark variables declaration in a .h file
> - improve cache locality for octeontx2
> - add comments about cache locality in commit logs
> - add comment for unused flag offset 17
> - add timestamp register functions
> - replace lookup with register in drivers and apps
> - remove register in ethdev
>
> v2:
> - remove optimization to register only once in ethdev
> - fix error message in latencystats
> - convert rxtx_callbacks macro to inline function
> - increase dynamic fields space
> - do not move pool field
>
>
> Thomas Monjalon (16):
> eventdev: remove software Rx timestamp
> mbuf: add Rx timestamp flag and helpers
> latency: switch Rx timestamp to dynamic mbuf field
> net/ark: switch Rx timestamp to dynamic mbuf field
> net/dpaa2: switch Rx timestamp to dynamic mbuf field
> net/mlx5: fix dynamic mbuf offset lookup check
> net/mlx5: switch Rx timestamp to dynamic mbuf field
> net/nfb: switch Rx timestamp to dynamic mbuf field
> net/octeontx2: switch Rx timestamp to dynamic mbuf field
> net/pcap: switch Rx timestamp to dynamic mbuf field
> app/testpmd: switch Rx timestamp to dynamic mbuf field
> examples/rxtx_callbacks: switch timestamp to dynamic field
> ethdev: add doxygen comment for Rx timestamp API
> mbuf: remove deprecated timestamp field
> mbuf: add Tx timestamp registration helper
> ethdev: include mbuf registration in Tx timestamp API
>
> app/test-pmd/config.c | 38 -------------
> app/test-pmd/util.c | 38 ++++++++++++-
> app/test/test_mbuf.c | 1 -
> doc/guides/nics/mlx5.rst | 5 +-
> .../prog_guide/event_ethernet_rx_adapter.rst | 6 +-
> doc/guides/rel_notes/deprecation.rst | 4 --
> doc/guides/rel_notes/release_20_11.rst | 4 ++
> drivers/net/ark/ark_ethdev.c | 17 ++++++
> drivers/net/ark/ark_ethdev_rx.c | 7 ++-
> drivers/net/ark/ark_ethdev_rx.h | 2 +
> drivers/net/dpaa2/dpaa2_ethdev.c | 11 ++++
> drivers/net/dpaa2/dpaa2_ethdev.h | 2 +
> drivers/net/dpaa2/dpaa2_rxtx.c | 25 ++++++---
> drivers/net/mlx5/mlx5_ethdev.c | 8 ++-
> drivers/net/mlx5/mlx5_rxq.c | 8 +++
> drivers/net/mlx5/mlx5_rxtx.c | 8 +--
> drivers/net/mlx5/mlx5_rxtx.h | 19 +++++++
> drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 41 +++++++-------
> drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 43 ++++++++-------
> drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 35 ++++++------
> drivers/net/mlx5/mlx5_trigger.c | 2 +-
> drivers/net/mlx5/mlx5_txq.c | 2 +-
> drivers/net/nfb/nfb_rx.c | 15 ++++-
> drivers/net/nfb/nfb_rx.h | 21 +++++--
> drivers/net/octeontx2/otx2_ethdev.c | 10 ++++
> drivers/net/octeontx2/otx2_ptp.c | 8 +++
> drivers/net/octeontx2/otx2_rx.h | 19 ++++++-
> drivers/net/pcap/rte_eth_pcap.c | 20 ++++++-
> examples/rxtx_callbacks/main.c | 16 +++++-
> lib/librte_ethdev/rte_ethdev.h | 14 ++++-
> .../rte_event_eth_rx_adapter.c | 11 ----
> .../rte_event_eth_rx_adapter.h | 6 +-
> lib/librte_latencystats/rte_latencystats.c | 30 ++++++++--
> lib/librte_mbuf/rte_mbuf.c | 2 -
> lib/librte_mbuf/rte_mbuf.h | 2 +-
> lib/librte_mbuf/rte_mbuf_core.h | 12 +---
> lib/librte_mbuf/rte_mbuf_dyn.c | 51 +++++++++++++++++
> lib/librte_mbuf/rte_mbuf_dyn.h | 55 +++++++++++++++++--
> lib/librte_mbuf/version.map | 2 +
> 39 files changed, 440 insertions(+), 180 deletions(-)
>
> --
> 2.28.0
>
For the series:
Acked-by: Olivier Matz <olivier.matz@6wind.com>
next prev parent reply other threads:[~2020-11-03 14:18 UTC|newest]
Thread overview: 170+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-29 9:27 [dpdk-dev] [PATCH 00/15] remove mbuf timestamp Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 01/15] eventdev: remove software Rx timestamp Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 02/15] mbuf: add Rx timestamp dynamic flag Thomas Monjalon
2020-10-29 9:58 ` Andrew Rybchenko
2020-10-29 18:19 ` Ajit Khaparde
2020-10-29 9:27 ` [dpdk-dev] [PATCH 03/15] ethdev: register mbuf field and flags for timestamp Thomas Monjalon
2020-10-29 10:08 ` Andrew Rybchenko
2020-10-29 10:12 ` Thomas Monjalon
2020-10-29 10:33 ` Andrew Rybchenko
2020-10-29 10:46 ` Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 04/15] latency: switch timestamp to dynamic mbuf field Thomas Monjalon
2020-10-29 10:13 ` Andrew Rybchenko
2020-10-29 10:40 ` Thomas Monjalon
2020-10-29 14:20 ` Pattan, Reshma
2020-10-29 16:15 ` Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 05/15] net/ark: " Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 06/15] net/dpaa2: " Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 07/15] net/mlx5: fix dynamic mbuf offset lookup check Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 08/15] net/mlx5: switch timestamp to dynamic mbuf field Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 09/15] net/nfb: " Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 10/15] net/octeontx2: " Thomas Monjalon
2020-10-29 11:02 ` Andrew Rybchenko
2020-10-29 11:34 ` Thomas Monjalon
2020-10-29 11:37 ` Andrew Rybchenko
2020-10-29 11:52 ` Slava Ovsiienko
2020-10-30 12:41 ` Jerin Jacob
2020-11-01 16:12 ` Thomas Monjalon
2020-11-01 20:00 ` Andrew Rybchenko
2020-10-29 9:27 ` [dpdk-dev] [PATCH 11/15] net/pcap: " Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 12/15] app/testpmd: " Thomas Monjalon
2020-10-29 10:20 ` Andrew Rybchenko
2020-10-29 10:43 ` Thomas Monjalon
2020-10-29 10:52 ` Andrew Rybchenko
2020-10-29 9:27 ` [dpdk-dev] [PATCH 13/15] examples/rxtx_callbacks: switch timestamp to dynamic field Thomas Monjalon
2020-10-29 10:21 ` Andrew Rybchenko
2020-10-29 10:44 ` Thomas Monjalon
2020-10-29 9:27 ` [dpdk-dev] [PATCH 14/15] mbuf: remove deprecated timestamp field Thomas Monjalon
2020-10-29 10:23 ` Andrew Rybchenko
2020-10-29 18:18 ` Ajit Khaparde
2020-10-29 14:48 ` Kinsella, Ray
2020-10-29 9:27 ` [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotter first half Thomas Monjalon
2020-10-29 10:50 ` Andrew Rybchenko
2020-10-29 10:56 ` Thomas Monjalon
2020-10-29 14:15 ` Ananyev, Konstantin
2020-10-29 18:45 ` Ajit Khaparde
2020-10-31 18:20 ` [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotterfirst half Morten Brørup
2020-10-31 20:40 ` Thomas Monjalon
2020-11-01 9:12 ` Morten Brørup
2020-11-01 16:21 ` Thomas Monjalon
2020-11-01 16:38 ` Thomas Monjalon
2020-11-01 20:59 ` Morten Brørup
2020-11-02 15:58 ` Thomas Monjalon
2020-11-03 12:10 ` Morten Brørup
2020-11-03 12:25 ` Bruce Richardson
2020-11-03 13:46 ` Morten Brørup
2020-11-03 13:50 ` Bruce Richardson
2020-11-03 14:03 ` Morten Brørup
2020-11-03 14:02 ` Slava Ovsiienko
2020-11-03 15:03 ` Morten Brørup
2020-11-04 15:00 ` Olivier Matz
2020-11-05 0:25 ` Ananyev, Konstantin
2020-11-05 9:04 ` Morten Brørup
2020-11-05 9:35 ` Morten Brørup
2020-11-05 10:29 ` Bruce Richardson
2020-10-29 14:42 ` [dpdk-dev] [PATCH 15/15] mbuf: move pool pointer in hotter first half Kinsella, Ray
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 00/14] remove mbuf timestamp Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 01/14] eventdev: remove software Rx timestamp Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 02/14] mbuf: add Rx timestamp dynamic flag Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 03/14] ethdev: register mbuf field and flags for timestamp Thomas Monjalon
2020-11-02 15:39 ` Olivier Matz
2020-11-02 16:52 ` Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 04/14] latency: switch timestamp to dynamic mbuf field Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 05/14] net/ark: " Thomas Monjalon
2020-11-02 15:32 ` Olivier Matz
2020-11-02 16:10 ` Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 06/14] net/dpaa2: " Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 07/14] net/mlx5: fix dynamic mbuf offset lookup check Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 08/14] net/mlx5: switch timestamp to dynamic mbuf field Thomas Monjalon
2020-11-02 5:08 ` Ruifeng Wang
2020-11-02 23:20 ` David Christensen
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 09/14] net/nfb: " Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 10/14] net/octeontx2: " Thomas Monjalon
2020-11-01 18:28 ` Jerin Jacob
2020-11-02 9:38 ` Thomas Monjalon
2020-11-02 11:01 ` Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 11/14] net/pcap: " Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 12/14] app/testpmd: " Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 13/14] examples/rxtx_callbacks: switch timestamp to dynamic field Thomas Monjalon
2020-11-01 18:06 ` [dpdk-dev] [PATCH v2 14/14] mbuf: remove deprecated timestamp field Thomas Monjalon
2020-11-02 15:41 ` Olivier Matz
2020-11-02 15:47 ` David Marchand
2020-11-02 15:49 ` Thomas Monjalon
2020-11-01 18:08 ` [dpdk-dev] [PATCH v2 00/14] remove mbuf timestamp Thomas Monjalon
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 00/16] " Thomas Monjalon
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 01/16] eventdev: remove software Rx timestamp Thomas Monjalon
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 02/16] mbuf: add Rx timestamp flag and helpers Thomas Monjalon
2020-11-03 9:33 ` Olivier Matz
2020-11-03 9:59 ` Thomas Monjalon
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 03/16] latency: switch Rx timestamp to dynamic mbuf field Thomas Monjalon
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 04/16] net/ark: " Thomas Monjalon
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 05/16] net/dpaa2: " Thomas Monjalon
2020-11-03 9:18 ` Hemant Agrawal
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 06/16] net/mlx5: fix dynamic mbuf offset lookup check Thomas Monjalon
2020-11-03 8:12 ` Slava Ovsiienko
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 07/16] net/mlx5: switch Rx timestamp to dynamic mbuf field Thomas Monjalon
2020-11-03 8:12 ` Slava Ovsiienko
2020-11-03 0:13 ` [dpdk-dev] [PATCH v3 08/16] net/nfb: " Thomas Monjalon
2020-11-03 10:20 ` Olivier Matz
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 09/16] net/octeontx2: " Thomas Monjalon
2020-11-03 10:52 ` Harman Kalra
2020-11-03 11:22 ` Thomas Monjalon
2020-11-03 12:21 ` Thomas Monjalon
2020-11-03 14:23 ` [dpdk-dev] [EXT] " Harman Kalra
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 10/16] net/pcap: " Thomas Monjalon
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 11/16] app/testpmd: " Thomas Monjalon
2020-11-03 10:23 ` Olivier Matz
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 12/16] examples/rxtx_callbacks: switch timestamp to dynamic field Thomas Monjalon
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 13/16] ethdev: add doxygen comment for Rx timestamp API Thomas Monjalon
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 14/16] mbuf: remove deprecated timestamp field Thomas Monjalon
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 15/16] mbuf: add Tx timestamp registration helper Thomas Monjalon
2020-11-03 0:14 ` [dpdk-dev] [PATCH v3 16/16] ethdev: include mbuf registration in Tx timestamp API Thomas Monjalon
2020-11-03 7:54 ` Slava Ovsiienko
2020-11-03 9:00 ` [dpdk-dev] [PATCH v3 00/16] remove mbuf timestamp David Marchand
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 " Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 01/16] eventdev: remove software Rx timestamp Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 02/16] mbuf: add Rx timestamp flag and helpers Thomas Monjalon
2020-11-03 12:34 ` Andrew Rybchenko
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 03/16] latency: switch Rx timestamp to dynamic mbuf field Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 04/16] net/ark: " Thomas Monjalon
2020-11-03 12:37 ` Andrew Rybchenko
2020-11-03 13:08 ` Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 05/16] net/dpaa2: " Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 06/16] net/mlx5: fix dynamic mbuf offset lookup check Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 07/16] net/mlx5: switch Rx timestamp to dynamic mbuf field Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 08/16] net/nfb: " Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 09/16] net/octeontx2: " Thomas Monjalon
2020-11-03 12:21 ` [dpdk-dev] [PATCH v4 10/16] net/pcap: " Thomas Monjalon
2020-11-03 12:22 ` [dpdk-dev] [PATCH v4 11/16] app/testpmd: " Thomas Monjalon
2020-11-03 12:22 ` [dpdk-dev] [PATCH v4 12/16] examples/rxtx_callbacks: switch timestamp to dynamic field Thomas Monjalon
2020-11-03 12:22 ` [dpdk-dev] [PATCH v4 13/16] ethdev: add doxygen comment for Rx timestamp API Thomas Monjalon
2020-11-03 12:40 ` Andrew Rybchenko
2020-11-03 12:22 ` [dpdk-dev] [PATCH v4 14/16] mbuf: remove deprecated timestamp field Thomas Monjalon
2020-11-03 12:22 ` [dpdk-dev] [PATCH v4 15/16] mbuf: add Tx timestamp registration helper Thomas Monjalon
2020-11-03 12:42 ` Andrew Rybchenko
2020-11-03 12:22 ` [dpdk-dev] [PATCH v4 16/16] ethdev: include mbuf registration in Tx timestamp API Thomas Monjalon
2020-11-03 12:45 ` Andrew Rybchenko
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 00/16] remove mbuf timestamp Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 01/16] eventdev: remove software Rx timestamp Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 02/16] mbuf: add Rx timestamp flag and helpers Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 03/16] latency: switch Rx timestamp to dynamic mbuf field Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 04/16] net/ark: " Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 05/16] net/dpaa2: " Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 06/16] net/mlx5: fix dynamic mbuf offset lookup check Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 07/16] net/mlx5: switch Rx timestamp to dynamic mbuf field Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 08/16] net/nfb: " Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 09/16] net/octeontx2: " Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 10/16] net/pcap: " Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 11/16] app/testpmd: " Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 12/16] examples/rxtx_callbacks: switch timestamp to dynamic field Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 13/16] ethdev: add doxygen comment for Rx timestamp API Thomas Monjalon
2020-11-03 19:07 ` Ajit Khaparde
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 14/16] mbuf: remove deprecated timestamp field Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 15/16] mbuf: add Tx timestamp registration helper Thomas Monjalon
2020-11-03 14:09 ` [dpdk-dev] [PATCH v5 16/16] ethdev: include mbuf registration in Tx timestamp API Thomas Monjalon
2020-11-03 14:17 ` Olivier Matz [this message]
2020-11-03 14:44 ` [dpdk-dev] [PATCH v5 00/16] remove mbuf timestamp Thomas Monjalon
2020-11-03 16:08 ` Stephen Hemminger
2020-11-03 16:20 ` Thomas Monjalon
2020-11-03 17:42 ` Stephen Hemminger
2020-11-03 17:55 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201103141756.GF1898@platinum \
--to=olivier.matz@6wind.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jerinj@marvell.com \
--cc=thomas@monjalon.net \
--cc=viacheslavo@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.