The accurate packet Tx scheduling on timestamps was introduced [1]. This patchset provides the feature implementation on mlx5 PMD side.
[1] http://patches.dpdk.org/patch/73742/ Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> Acked-by: Matan Azrad <ma...@mellanox.com> Viacheslav Ovsiienko (17): common/mlx5: update common part to support packet pacing net/mlx5: introduce send scheduling devargs net/mlx5: fix UAR lock sharing for multiport devices net/mlx5: introduce shared UAR resource net/mlx5: create clock queue for packet pacing net/mlx5: create rearm queue for packet pacing net/mlx5: create Tx queues with DevX net/mlx5: allocate packet pacing context net/mlx5: introduce clock queue service routine net/mlx5: prepare Tx queue structures to support timestamp net/mlx5: convert timestamp to completion index net/mlx5: prepare Tx datapath to support sheduling net/mlx5: add scheduling support to send routine template net/mlx5: add read device clock support net/mlx5: provide the send scheduling error statistics common/mlx5: add register access DevX routine net/mlx5: convert Rx timestamps in realtime format doc/guides/nics/mlx5.rst | 37 + drivers/common/mlx5/Makefile | 25 + drivers/common/mlx5/linux/meson.build | 10 + drivers/common/mlx5/linux/mlx5_glue.c | 31 +- drivers/common/mlx5/linux/mlx5_glue.h | 5 + drivers/common/mlx5/mlx5_devx_cmds.c | 79 +- drivers/common/mlx5/mlx5_devx_cmds.h | 13 + drivers/common/mlx5/mlx5_prm.h | 121 +- drivers/common/mlx5/rte_common_mlx5_version.map | 1 + drivers/net/mlx5/Makefile | 1 + drivers/net/mlx5/linux/mlx5_os.c | 97 +- drivers/net/mlx5/meson.build | 1 + drivers/net/mlx5/mlx5.c | 61 +- drivers/net/mlx5/mlx5.h | 89 +- drivers/net/mlx5/mlx5_defs.h | 11 + drivers/net/mlx5/mlx5_rxq.c | 26 +- drivers/net/mlx5/mlx5_rxtx.c | 373 ++++++- drivers/net/mlx5/mlx5_rxtx.h | 97 ++ drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 34 +- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 54 +- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 34 +- drivers/net/mlx5/mlx5_stats.c | 7 +- drivers/net/mlx5/mlx5_trigger.c | 26 +- drivers/net/mlx5/mlx5_txpp.c | 1333 +++++++++++++++++++++++ drivers/net/mlx5/mlx5_txq.c | 342 +++++- 25 files changed, 2799 insertions(+), 109 deletions(-) create mode 100644 drivers/net/mlx5/mlx5_txpp.c -- 1.8.3.1