[v3,00/17] net/mlx5: introduce accurate packet Tx scheduling
mbox series

Message ID 1594887800-6563-1-git-send-email-viacheslavo@mellanox.com
Headers show
Series
  • net/mlx5: introduce accurate packet Tx scheduling
Related show

Message

Slava Ovsiienko July 16, 2020, 8:23 a.m. UTC
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 <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>

---
v3: - 32-bit systems rte_atomic128_cmp_exchange() fix
    - strncpy coverity issue (bug)fix
    - codestyle compilation issues
    - negative tx_pp is always enabled

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                         |   90 +-
 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                    | 1335 +++++++++++++++++++++++
 drivers/net/mlx5/mlx5_txq.c                     |  342 +++++-
 25 files changed, 2802 insertions(+), 109 deletions(-)
 create mode 100644 drivers/net/mlx5/mlx5_txpp.c

Comments

Raslan Darawsheh July 16, 2020, 8:20 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> Sent: Thursday, July 16, 2020 11:23 AM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; olivier.matz@6wind.com; Thomas Monjalon
> <thomas@monjalon.net>; ferruh.yigit@intel.com
> Subject: [PATCH v3 00/17] net/mlx5: introduce accurate packet Tx scheduling
> 
> 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 <viacheslavo@mellanox.com>
> Acked-by: Matan Azrad <matan@mellanox.com>
> 
> ---
> v3: - 32-bit systems rte_atomic128_cmp_exchange() fix
>     - strncpy coverity issue (bug)fix
>     - codestyle compilation issues
>     - negative tx_pp is always enabled
> 
> 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                         |   90 +-
>  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                    | 1335
> +++++++++++++++++++++++
>  drivers/net/mlx5/mlx5_txq.c                     |  342 +++++-
>  25 files changed, 2802 insertions(+), 109 deletions(-)
>  create mode 100644 drivers/net/mlx5/mlx5_txpp.c
> 
> --
> 1.8.3.1


Series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh