Le 07-03-21 à 11:02, Viacheslav Ovsiienko a écrit : > There are two different timestamp formats can be provided potentially > by mlx5 supported hardware. > > The free-running format provides some opaque values captured from > internal clock counter clocked by some independent oscillator. > The free-running frequency is not pre-defined and should be queried > from the NIC. How is the UTC clock kept in sync with the host? It would be interesting to mention a bit about that when you'll send the patch for the "timestamp format context field", as it's important for precise measurements. > > The real-time timestamps are presented in nanoseconds and captured from > the dedicated UTC counter, that can be adjusted on the fly and might be > synchronized with some external master clock. > > Depending on the version and configuration the hardware might support > either FR or RT timestamps, or both in the same time on per queue basis. > Since firmware version xx.30.0256 the timestamp format can be configured > via fields in the queue context at the object creation time. For the > compatibility reasons the default zero value configures timestamps with > free-running format. The NIC ConnectX-5 and earlier ones support the > free-running format only. Since ConnectX-6 both formats might be supported > and configured. The default zero value (specified in the non-defined > yet timestamp format context field) causes the queue creation > failure (rejected by firmware) if the NIC is configured to real-time timestamp > format. Hence, it is crucial to check whether firmware/hardware supports > timestamp formats and configure queues accordingly, and this patchset > also must be provided for stable DPDK releases. > > Compatibility affected (without this patchset) summary: > - ConnectX-6DX or BlueField 2 Your commit message mention CX6 but the compatibility summary CX6DX. Which one started to get support? Thanks, Tom > - real-time format is configured in NV settings > - firmware is xx.30.0256 or higher > > Viacheslav Ovsiienko (5): > common/mlx5: add timestamp format support to DevX > net/mlx5: add timestamp format support > vdpa/mlx5: add timestamp format support > regex/mlx5: add timestamp format support > compress/mlx5: add timestamp format support > > drivers/common/mlx5/mlx5_devx_cmds.c | 35 +++++++++++++++++++-- > drivers/common/mlx5/mlx5_devx_cmds.h | 7 +++++ > drivers/common/mlx5/mlx5_prm.h | 41 ++++++++++++++++++++++--- > drivers/compress/mlx5/mlx5_compress.c | 5 +++ > drivers/net/mlx5/linux/mlx5_os.c | 3 ++ > drivers/net/mlx5/mlx5.h | 3 ++ > drivers/net/mlx5/mlx5_devx.c | 12 +++++++- > drivers/net/mlx5/mlx5_flow_age.c | 10 ++++-- > drivers/net/mlx5/mlx5_txpp.c | 8 +++++ > drivers/net/mlx5/windows/mlx5_os.c | 3 ++ > drivers/regex/mlx5/mlx5_regex.c | 1 + > drivers/regex/mlx5/mlx5_regex.h | 1 + > drivers/regex/mlx5/mlx5_regex_control.c | 4 +++ > drivers/vdpa/mlx5/mlx5_vdpa.c | 1 + > drivers/vdpa/mlx5/mlx5_vdpa.h | 1 + > drivers/vdpa/mlx5/mlx5_vdpa_event.c | 8 +++++ > 16 files changed, 133 insertions(+), 10 deletions(-) >