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.m...@6wind.com>