Hi Eli, This patch-set adds user-space support for time-stamping in mlx5_ib. It implements the necessary API: (a) ib_create_cq_ex - Add support for CQ creation flags (b) ib_query_device - return timestamp_mask and hca_core_clock.
We also add support for mmaping the HCA's free running clock. In order to do so, we use the response of the vendor's extended part in init_ucontext. This allows us to pass the page offset of the free running clock register to the user-space driver. In order to implement it in a future extensible manner, we use the same mechanism of verbs extensions to the mlx5 vendor part as well. Regards, Matan Changes from v1: * Change ib_is_udata_cleared to use memchr_inv. Changes from v0: * Limit mmap PAGE_SIZE to 4K (security wise). * Optimize ib_is_udata_cleared. * Pass hca_core_clock_offset in the vendor's response part of init_ucontext. Matan Barak (5): IB/mlx5: Add create_cq extended command IB/core: Add ib_is_udata_cleared IB/mlx5: Add support for hca_core_clock and timestamp_mask IB/mlx5: Add hca_core_clock_offset to udata in init_ucontext IB/mlx5: Mmap the HCA's core clock register to user-space drivers/infiniband/hw/mlx5/cq.c | 7 ++++ drivers/infiniband/hw/mlx5/main.c | 67 +++++++++++++++++++++++++++++++----- drivers/infiniband/hw/mlx5/mlx5_ib.h | 7 +++- drivers/infiniband/hw/mlx5/user.h | 12 +++++-- include/linux/mlx5/device.h | 7 ++-- include/linux/mlx5/mlx5_ifc.h | 9 +++-- include/rdma/ib_verbs.h | 27 +++++++++++++++ 7 files changed, 120 insertions(+), 16 deletions(-) -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html