* [PATCH for-next 0/4] User-space time-stamping support for mlx5_ib
@ 2015-11-09 16:30 Matan Barak
[not found] ` <1447086657-15358-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 22+ messages in thread
From: Matan Barak @ 2015-11-09 16:30 UTC (permalink / raw)
To: Eli Cohen
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Matan Barak,
Eran Ben Elisha, Yann Droneaud
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 ib_query_device. 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
Matan Barak (4):
IB/mlx5: Add create_cq extended command
IB/core: Add ib_is_udata_cleared
IB/mlx5: Add support querying timestamp related fields in query_device
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 | 69 ++++++++++++++++++++++++++++++++++--
drivers/infiniband/hw/mlx5/mlx5_ib.h | 22 +++++++++++-
include/linux/mlx5/device.h | 10 +++---
include/linux/mlx5/mlx5_ifc.h | 9 +++--
include/rdma/ib_verbs.h | 20 +++++++++++
6 files changed, 125 insertions(+), 12 deletions(-)
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <1447086657-15358-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2015-11-09 16:30 ` Matan Barak
[not found] ` <1447086657-15358-2-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 16:30 ` [PATCH for-next 2/4] IB/core: Add ib_is_udata_cleared Matan Barak
` (2 subsequent siblings)
3 siblings, 1 reply; 22+ messages in thread
From: Matan Barak @ 2015-11-09 16:30 UTC (permalink / raw)
To: Eli Cohen
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Matan Barak,
Eran Ben Elisha, Yann Droneaud
In order to create a CQ that supports timestamp, mlx5 needs to
support the extended create CQ command with the timestamp flag.
Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
drivers/infiniband/hw/mlx5/cq.c | 7 +++++++
drivers/infiniband/hw/mlx5/main.c | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/mlx5/cq.c b/drivers/infiniband/hw/mlx5/cq.c
index 2d0dbbf..674f857 100644
--- a/drivers/infiniband/hw/mlx5/cq.c
+++ b/drivers/infiniband/hw/mlx5/cq.c
@@ -743,6 +743,10 @@ static void destroy_cq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_cq *cq)
mlx5_db_free(dev->mdev, &cq->db);
}
+enum {
+ CQ_CREATE_FLAGS_SUPPORTED = IB_CQ_FLAGS_TIMESTAMP_COMPLETION
+};
+
struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev,
const struct ib_cq_init_attr *attr,
struct ib_ucontext *context,
@@ -766,6 +770,9 @@ struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev,
if (entries < 0)
return ERR_PTR(-EINVAL);
+ if (attr->flags & ~CQ_CREATE_FLAGS_SUPPORTED)
+ return ERR_PTR(-EINVAL);
+
entries = roundup_pow_of_two(entries + 1);
if (entries > (1 << MLX5_CAP_GEN(dev->mdev, log_max_cq_sz)))
return ERR_PTR(-EINVAL);
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index f1ccd40..05f00da 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -1385,7 +1385,8 @@ static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
(1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) |
(1ull << IB_USER_VERBS_CMD_OPEN_QP);
dev->ib_dev.uverbs_ex_cmd_mask =
- (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE);
+ (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE) |
+ (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ);
dev->ib_dev.query_device = mlx5_ib_query_device;
dev->ib_dev.query_port = mlx5_ib_query_port;
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH for-next 2/4] IB/core: Add ib_is_udata_cleared
[not found] ` <1447086657-15358-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 16:30 ` [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command Matan Barak
@ 2015-11-09 16:30 ` Matan Barak
[not found] ` <1447086657-15358-3-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 16:30 ` [PATCH for-next 3/4] IB/mlx5: Add support querying timestamp related fields in query_device Matan Barak
2015-11-09 16:30 ` [PATCH for-next 4/4] IB/mlx5: Mmap the HCA's core clock register to user-space Matan Barak
3 siblings, 1 reply; 22+ messages in thread
From: Matan Barak @ 2015-11-09 16:30 UTC (permalink / raw)
To: Eli Cohen
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Matan Barak,
Eran Ben Elisha, Yann Droneaud
Extending core and vendor verb commands require us to check that the
unknown part of the user's given command is all zeros.
Adding ib_is_udata_cleared in order to do so.
Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
include/rdma/ib_verbs.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index e4cc389..43f3cf2 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -1855,6 +1855,26 @@ static inline int ib_copy_to_udata(struct ib_udata *udata, void *src, size_t len
return copy_to_user(udata->outbuf, src, len) ? -EFAULT : 0;
}
+static inline bool ib_is_udata_cleared(struct ib_udata *udata,
+ char cleared_char,
+ size_t offset,
+ size_t len)
+{
+ short i;
+
+ for (i = 0; i < len; i++) {
+ char c;
+
+ if (copy_from_user(&c, udata->inbuf + offset + i, sizeof(c)))
+ return false;
+
+ if (c != cleared_char)
+ return false;
+ }
+
+ return true;
+}
+
/**
* ib_modify_qp_is_ok - Check that the supplied attribute mask
* contains all required attributes and no attributes not allowed for
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH for-next 3/4] IB/mlx5: Add support querying timestamp related fields in query_device
[not found] ` <1447086657-15358-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 16:30 ` [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command Matan Barak
2015-11-09 16:30 ` [PATCH for-next 2/4] IB/core: Add ib_is_udata_cleared Matan Barak
@ 2015-11-09 16:30 ` Matan Barak
[not found] ` <1447086657-15358-4-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 16:30 ` [PATCH for-next 4/4] IB/mlx5: Mmap the HCA's core clock register to user-space Matan Barak
3 siblings, 1 reply; 22+ messages in thread
From: Matan Barak @ 2015-11-09 16:30 UTC (permalink / raw)
To: Eli Cohen
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Matan Barak,
Eran Ben Elisha, Yann Droneaud
Add support for querying hca_core_lock, timestmap_mask and
hca_core_clock_offset in query device verb. This is necessary
in order to support completion timestamp and querying the
HCA's core clock.
Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
drivers/infiniband/hw/mlx5/main.c | 42 ++++++++++++++++++++++++++++++++++--
drivers/infiniband/hw/mlx5/mlx5_ib.h | 18 ++++++++++++++++
include/linux/mlx5/device.h | 10 ++++-----
include/linux/mlx5/mlx5_ifc.h | 9 +++++---
4 files changed, 69 insertions(+), 10 deletions(-)
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index 05f00da..b8be3ad 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -213,10 +213,33 @@ static int mlx5_ib_query_device(struct ib_device *ibdev,
int max_rq_sg;
int max_sq_sg;
u64 min_page_size = 1ull << MLX5_CAP_GEN(mdev, log_pg_sz);
+ struct mlx5_uverbs_ex_query_device cmd = {};
+ struct mlx5_uverbs_ex_query_device_resp resp = {};
- if (uhw->inlen || uhw->outlen)
- return -EINVAL;
+ if (uhw->inlen) {
+ if (uhw->inlen < offsetof(struct mlx5_uverbs_ex_query_device,
+ comp_mask) +
+ sizeof(cmd.comp_mask))
+ return -EINVAL;
+
+ err = ib_copy_from_udata(&cmd, uhw, min(sizeof(cmd),
+ uhw->inlen));
+ if (err)
+ return err;
+
+ if (cmd.comp_mask)
+ return -EINVAL;
+
+ if (cmd.reserved)
+ return -EINVAL;
+ if (!ib_is_udata_cleared(uhw, '\0', sizeof(cmd),
+ sizeof(cmd) - uhw->inlen))
+ return -EINVAL;
+ }
+
+ resp.response_length = offsetof(typeof(resp), response_length) +
+ sizeof(resp.response_length);
memset(props, 0, sizeof(*props));
err = mlx5_query_system_image_guid(ibdev,
&props->sys_image_guid);
@@ -293,6 +316,8 @@ static int mlx5_ib_query_device(struct ib_device *ibdev,
props->max_total_mcast_qp_attach = props->max_mcast_qp_attach *
props->max_mcast_grp;
props->max_map_per_fmr = INT_MAX; /* no limit in ConnectIB */
+ props->hca_core_clock = MLX5_CAP_GEN(mdev, device_frequency_khz);
+ props->timestamp_mask = 0xFFFFFFFFFFFFFFULL;
#ifdef CONFIG_INFINIBAND_ON_DEMAND_PAGING
if (MLX5_CAP_GEN(mdev, pg))
@@ -300,6 +325,19 @@ static int mlx5_ib_query_device(struct ib_device *ibdev,
props->odp_caps = dev->odp_caps;
#endif
+ if (field_avail(typeof(resp), hca_core_clock_offset, uhw->outlen)) {
+ resp.response_length += sizeof(resp.hca_core_clock_offset);
+ resp.comp_mask |= QUERY_DEVICE_RESP_MASK_TIMESTAMP;
+ resp.hca_core_clock_offset =
+ offsetof(struct mlx5_init_seg, internal_timer_h) % PAGE_SIZE;
+ }
+
+ if (uhw->outlen) {
+ err = ib_copy_to_udata(uhw, &resp, resp.response_length);
+ if (err)
+ return err;
+ }
+
return 0;
}
diff --git a/drivers/infiniband/hw/mlx5/mlx5_ib.h b/drivers/infiniband/hw/mlx5/mlx5_ib.h
index 22123b7..c33cf8f 100644
--- a/drivers/infiniband/hw/mlx5/mlx5_ib.h
+++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h
@@ -55,6 +55,9 @@ pr_err("%s:%s:%d:(pid %d): " format, (dev)->ib_dev.name, __func__, \
pr_warn("%s:%s:%d:(pid %d): " format, (dev)->ib_dev.name, __func__, \
__LINE__, current->pid, ##arg)
+#define field_avail(type, fld, sz) (offsetof(type, fld) + \
+ sizeof(((type *)0)->fld) <= (sz))
+
enum {
MLX5_IB_MMAP_CMD_SHIFT = 8,
MLX5_IB_MMAP_CMD_MASK = 0xff,
@@ -441,6 +444,21 @@ struct mlx5_ib_dev {
#endif
};
+struct mlx5_uverbs_ex_query_device {
+ __u32 comp_mask;
+ __u32 reserved;
+};
+
+enum query_device_resp_mask {
+ QUERY_DEVICE_RESP_MASK_TIMESTAMP = 1UL << 0,
+};
+
+struct mlx5_uverbs_ex_query_device_resp {
+ __u32 comp_mask;
+ __u32 response_length;
+ __u64 hca_core_clock_offset;
+};
+
static inline struct mlx5_ib_cq *to_mibcq(struct mlx5_core_cq *mcq)
{
return container_of(mcq, struct mlx5_ib_cq, mcq);
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h
index 250b1ff..b7d7471 100644
--- a/include/linux/mlx5/device.h
+++ b/include/linux/mlx5/device.h
@@ -441,12 +441,12 @@ struct mlx5_init_seg {
__be32 cmd_dbell;
__be32 rsvd1[121];
struct health_buffer health;
- __be32 rsvd2[884];
+ __be32 rsvd2[880];
+ __be32 internal_timer_h;
+ __be32 internal_timer_l;
+ __be32 rsvd3[2];
__be32 health_counter;
- __be32 rsvd3[1019];
- __be64 ieee1588_clk;
- __be32 ieee1588_clk_type;
- __be32 clr_intx;
+ __be32 rsvd4[1019];
};
struct mlx5_eqe_comp {
diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h
index dd20974..4172db6 100644
--- a/include/linux/mlx5/mlx5_ifc.h
+++ b/include/linux/mlx5/mlx5_ifc.h
@@ -792,15 +792,18 @@ struct mlx5_ifc_cmd_hca_cap_bits {
u8 reserved_63[0x8];
u8 log_uar_page_sz[0x10];
- u8 reserved_64[0x100];
+ u8 reserved_64[0x20];
+ u8 device_frequency_mhz[0x20];
+ u8 device_frequency_khz[0x20];
+ u8 reserved_65[0xa0];
- u8 reserved_65[0x1f];
+ u8 reserved_66[0x1f];
u8 cqe_zip[0x1];
u8 cqe_zip_timeout[0x10];
u8 cqe_zip_max_num[0x10];
- u8 reserved_66[0x220];
+ u8 reserved_67[0x220];
};
enum {
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH for-next 4/4] IB/mlx5: Mmap the HCA's core clock register to user-space
[not found] ` <1447086657-15358-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
` (2 preceding siblings ...)
2015-11-09 16:30 ` [PATCH for-next 3/4] IB/mlx5: Add support querying timestamp related fields in query_device Matan Barak
@ 2015-11-09 16:30 ` Matan Barak
[not found] ` <1447086657-15358-5-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
3 siblings, 1 reply; 22+ messages in thread
From: Matan Barak @ 2015-11-09 16:30 UTC (permalink / raw)
To: Eli Cohen
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Matan Barak,
Eran Ben Elisha, Yann Droneaud
In order to read the HCA's current cycles register, we need
to map it to user-space. Add support to map this register
via mmap command.
Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
drivers/infiniband/hw/mlx5/main.c | 24 ++++++++++++++++++++++++
drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 +++-
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index b8be3ad..23cedb4 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -825,6 +825,30 @@ static int mlx5_ib_mmap(struct ib_ucontext *ibcontext, struct vm_area_struct *vm
case MLX5_IB_MMAP_GET_CONTIGUOUS_PAGES:
return -ENOSYS;
+ case MLX5_IB_MMAP_CORE_CLOCK:
+ {
+ phys_addr_t pfn;
+
+ if (vma->vm_end - vma->vm_start != PAGE_SIZE)
+ return -EINVAL;
+
+ if (vma->vm_flags & (VM_WRITE | VM_EXEC))
+ return -EINVAL;
+
+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+ pfn = (dev->mdev->iseg_base +
+ offsetof(struct mlx5_init_seg, internal_timer_h)) >>
+ PAGE_SHIFT;
+ if (io_remap_pfn_range(vma, vma->vm_start, pfn,
+ PAGE_SIZE, vma->vm_page_prot))
+ return -EAGAIN;
+
+ mlx5_ib_dbg(dev, "mapped internal timer at 0x%lx, PA 0x%llx\n",
+ vma->vm_start,
+ (unsigned long long)pfn << PAGE_SHIFT);
+ break;
+ }
+
default:
return -EINVAL;
}
diff --git a/drivers/infiniband/hw/mlx5/mlx5_ib.h b/drivers/infiniband/hw/mlx5/mlx5_ib.h
index c33cf8f..87cd616 100644
--- a/drivers/infiniband/hw/mlx5/mlx5_ib.h
+++ b/drivers/infiniband/hw/mlx5/mlx5_ib.h
@@ -65,7 +65,9 @@ enum {
enum mlx5_ib_mmap_cmd {
MLX5_IB_MMAP_REGULAR_PAGE = 0,
- MLX5_IB_MMAP_GET_CONTIGUOUS_PAGES = 1, /* always last */
+ MLX5_IB_MMAP_GET_CONTIGUOUS_PAGES = 1,
+ /* 5 is chosen in order to be compatible with old versions of libmlx5 */
+ MLX5_IB_MMAP_CORE_CLOCK = 5,
};
enum {
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <1447086657-15358-2-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2015-11-09 17:06 ` Eli Cohen
2015-11-09 17:06 ` Eli Cohen
` (3 subsequent siblings)
4 siblings, 0 replies; 22+ messages in thread
From: Eli Cohen @ 2015-11-09 17:06 UTC (permalink / raw)
To: Matan Barak
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Eran Ben Elisha,
Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:54PM +0200, Matan Barak wrote:
> In order to create a CQ that supports timestamp, mlx5 needs to
> support the extended create CQ command with the timestamp flag.
>
i> Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Acked-by: Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <1447086657-15358-2-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:06 ` Eli Cohen
@ 2015-11-09 17:06 ` Eli Cohen
2015-11-09 23:22 ` Jason Gunthorpe
` (2 subsequent siblings)
4 siblings, 0 replies; 22+ messages in thread
From: Eli Cohen @ 2015-11-09 17:06 UTC (permalink / raw)
To: Matan Barak
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Eran Ben Elisha,
Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:54PM +0200, Matan Barak wrote:
> In order to create a CQ that supports timestamp, mlx5 needs to
> support the extended create CQ command with the timestamp flag.
>
> Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Acked-by: Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 2/4] IB/core: Add ib_is_udata_cleared
[not found] ` <1447086657-15358-3-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2015-11-09 17:07 ` Eli Cohen
2015-11-09 19:18 ` Leon Romanovsky
1 sibling, 0 replies; 22+ messages in thread
From: Eli Cohen @ 2015-11-09 17:07 UTC (permalink / raw)
To: Matan Barak
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Eran Ben Elisha,
Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:55PM +0200, Matan Barak wrote:
> Extending core and vendor verb commands require us to check that the
> unknown part of the user's given command is all zeros.
> Adding ib_is_udata_cleared in order to do so.
>
> Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Acked-by: Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 3/4] IB/mlx5: Add support querying timestamp related fields in query_device
[not found] ` <1447086657-15358-4-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2015-11-09 17:08 ` Eli Cohen
2015-11-09 19:26 ` Leon Romanovsky
1 sibling, 0 replies; 22+ messages in thread
From: Eli Cohen @ 2015-11-09 17:08 UTC (permalink / raw)
To: Matan Barak
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Eran Ben Elisha,
Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:56PM +0200, Matan Barak wrote:
> Add support for querying hca_core_lock, timestmap_mask and
> hca_core_clock_offset in query device verb. This is necessary
> in order to support completion timestamp and querying the
> HCA's core clock.
>
> Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Acked-by: Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 4/4] IB/mlx5: Mmap the HCA's core clock register to user-space
[not found] ` <1447086657-15358-5-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2015-11-09 17:09 ` Eli Cohen
0 siblings, 0 replies; 22+ messages in thread
From: Eli Cohen @ 2015-11-09 17:09 UTC (permalink / raw)
To: Matan Barak
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford, Eran Ben Elisha,
Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:57PM +0200, Matan Barak wrote:
> In order to read the HCA's current cycles register, we need
> to map it to user-space. Add support to map this register
> via mmap command.
>
> Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Acked-by: Eli Cohen <eli-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 2/4] IB/core: Add ib_is_udata_cleared
[not found] ` <1447086657-15358-3-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:07 ` Eli Cohen
@ 2015-11-09 19:18 ` Leon Romanovsky
[not found] ` <20151109191817.GE4023-2ukJVAZIZ/Y@public.gmane.org>
1 sibling, 1 reply; 22+ messages in thread
From: Leon Romanovsky @ 2015-11-09 19:18 UTC (permalink / raw)
To: Matan Barak
Cc: Eli Cohen, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford,
Eran Ben Elisha, Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:55PM +0200, Matan Barak wrote:
>
> +static inline bool ib_is_udata_cleared(struct ib_udata *udata,
> + char cleared_char,
> + size_t offset,
> + size_t len)
> +{
> + short i;
> +
> + for (i = 0; i < len; i++) {
You are comparing "len" which is declared as size_t which is "unsigned" int and "i" which is "short".
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 3/4] IB/mlx5: Add support querying timestamp related fields in query_device
[not found] ` <1447086657-15358-4-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:08 ` Eli Cohen
@ 2015-11-09 19:26 ` Leon Romanovsky
[not found] ` <20151109192610.GF4023-2ukJVAZIZ/Y@public.gmane.org>
1 sibling, 1 reply; 22+ messages in thread
From: Leon Romanovsky @ 2015-11-09 19:26 UTC (permalink / raw)
To: Matan Barak
Cc: Eli Cohen, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford,
Eran Ben Elisha, Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:56PM +0200, Matan Barak wrote:
> +
> + if (uhw->outlen) {
> + err = ib_copy_to_udata(uhw, &resp, resp.response_length);
> + if (err)
> + return err;
> + }
> +
> return 0;
What do you think about to rewrite this part of code to be something
like that?
+ int ret = 0;
.....
+ if (uhw->outlen)
+ ret = ib_copy_to_udata(uhw, &resp, resp.response_length);
+ return ret;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <1447086657-15358-2-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:06 ` Eli Cohen
2015-11-09 17:06 ` Eli Cohen
@ 2015-11-09 23:22 ` Jason Gunthorpe
[not found] ` <20151109232259.GB20707-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-11-09 23:24 ` Jason Gunthorpe
2015-11-19 14:54 ` Christoph Hellwig
4 siblings, 1 reply; 22+ messages in thread
From: Jason Gunthorpe @ 2015-11-09 23:22 UTC (permalink / raw)
To: Matan Barak
Cc: Eli Cohen, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford,
Eran Ben Elisha, Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:54PM +0200, Matan Barak wrote:
> In order to create a CQ that supports timestamp, mlx5 needs to
> support the extended create CQ command with the timestamp flag.
>
> Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> drivers/infiniband/hw/mlx5/cq.c | 7 +++++++
> drivers/infiniband/hw/mlx5/main.c | 3 ++-
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/mlx5/cq.c b/drivers/infiniband/hw/mlx5/cq.c
> index 2d0dbbf..674f857 100644
> +++ b/drivers/infiniband/hw/mlx5/cq.c
> @@ -743,6 +743,10 @@ static void destroy_cq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_cq *cq)
> mlx5_db_free(dev->mdev, &cq->db);
> }
>
> +enum {
> + CQ_CREATE_FLAGS_SUPPORTED = IB_CQ_FLAGS_TIMESTAMP_COMPLETION
> +};
> +
> struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev,
> const struct ib_cq_init_attr *attr,
> struct ib_ucontext *context,
> @@ -766,6 +770,9 @@ struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev,
> if (entries < 0)
> return ERR_PTR(-EINVAL);
>
> + if (attr->flags & ~CQ_CREATE_FLAGS_SUPPORTED)
> + return ERR_PTR(-EINVAL);
And this is what I was just mentioning to Eli, EINVAL is not the right
return, and this same comment applies to the places where the above
was copy and pasted into drivers during the ex patching.
Try for EOPNOTSUPP maybe?
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <1447086657-15358-2-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
` (2 preceding siblings ...)
2015-11-09 23:22 ` Jason Gunthorpe
@ 2015-11-09 23:24 ` Jason Gunthorpe
[not found] ` <20151109232400.GC20707-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-11-19 14:54 ` Christoph Hellwig
4 siblings, 1 reply; 22+ messages in thread
From: Jason Gunthorpe @ 2015-11-09 23:24 UTC (permalink / raw)
To: Matan Barak
Cc: Eli Cohen, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford,
Eran Ben Elisha, Yann Droneaud
On Mon, Nov 09, 2015 at 06:30:54PM +0200, Matan Barak wrote:
> @@ -1385,7 +1385,8 @@ static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
> (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) |
> (1ull << IB_USER_VERBS_CMD_OPEN_QP);
> dev->ib_dev.uverbs_ex_cmd_mask =
> - (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE);
> + (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE) |
> + (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ);
Eli posted a series that gets rid of this stuff, can you please
coordinate?
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <20151109232259.GB20707-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
@ 2015-11-10 8:28 ` Matan Barak
0 siblings, 0 replies; 22+ messages in thread
From: Matan Barak @ 2015-11-10 8:28 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Matan Barak, Eli Cohen, linux-rdma, Doug Ledford,
Eran Ben Elisha, Yann Droneaud
On Tue, Nov 10, 2015 at 1:22 AM, Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
> On Mon, Nov 09, 2015 at 06:30:54PM +0200, Matan Barak wrote:
>> In order to create a CQ that supports timestamp, mlx5 needs to
>> support the extended create CQ command with the timestamp flag.
>>
>> Signed-off-by: Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
>> drivers/infiniband/hw/mlx5/cq.c | 7 +++++++
>> drivers/infiniband/hw/mlx5/main.c | 3 ++-
>> 2 files changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/infiniband/hw/mlx5/cq.c b/drivers/infiniband/hw/mlx5/cq.c
>> index 2d0dbbf..674f857 100644
>> +++ b/drivers/infiniband/hw/mlx5/cq.c
>> @@ -743,6 +743,10 @@ static void destroy_cq_kernel(struct mlx5_ib_dev *dev, struct mlx5_ib_cq *cq)
>> mlx5_db_free(dev->mdev, &cq->db);
>> }
>>
>> +enum {
>> + CQ_CREATE_FLAGS_SUPPORTED = IB_CQ_FLAGS_TIMESTAMP_COMPLETION
>> +};
>> +
>> struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev,
>> const struct ib_cq_init_attr *attr,
>> struct ib_ucontext *context,
>> @@ -766,6 +770,9 @@ struct ib_cq *mlx5_ib_create_cq(struct ib_device *ibdev,
>> if (entries < 0)
>> return ERR_PTR(-EINVAL);
>>
>> + if (attr->flags & ~CQ_CREATE_FLAGS_SUPPORTED)
>> + return ERR_PTR(-EINVAL);
>
> And this is what I was just mentioning to Eli, EINVAL is not the right
> return, and this same comment applies to the places where the above
> was copy and pasted into drivers during the ex patching.
>
> Try for EOPNOTSUPP maybe?
>
Agree. Thanks, I'll fix.
> Jason
Matan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <20151109232400.GC20707-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
@ 2015-11-10 8:30 ` Matan Barak
0 siblings, 0 replies; 22+ messages in thread
From: Matan Barak @ 2015-11-10 8:30 UTC (permalink / raw)
To: Jason Gunthorpe
Cc: Matan Barak, Eli Cohen, linux-rdma, Doug Ledford,
Eran Ben Elisha, Yann Droneaud
On Tue, Nov 10, 2015 at 1:24 AM, Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
> On Mon, Nov 09, 2015 at 06:30:54PM +0200, Matan Barak wrote:
>> @@ -1385,7 +1385,8 @@ static void *mlx5_ib_add(struct mlx5_core_dev *mdev)
>> (1ull << IB_USER_VERBS_CMD_CREATE_XSRQ) |
>> (1ull << IB_USER_VERBS_CMD_OPEN_QP);
>> dev->ib_dev.uverbs_ex_cmd_mask =
>> - (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE);
>> + (1ull << IB_USER_VERBS_EX_CMD_QUERY_DEVICE) |
>> + (1ull << IB_USER_VERBS_EX_CMD_CREATE_CQ);
>
> Eli posted a series that gets rid of this stuff, can you please
> coordinate?
>
It'll create a dependency between this series and Eli's series, but
I'll change that.
> Jason
Matan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 2/4] IB/core: Add ib_is_udata_cleared
[not found] ` <20151109191817.GE4023-2ukJVAZIZ/Y@public.gmane.org>
@ 2015-11-10 8:38 ` Matan Barak
0 siblings, 0 replies; 22+ messages in thread
From: Matan Barak @ 2015-11-10 8:38 UTC (permalink / raw)
To: leon-2ukJVAZIZ/Y, Matan Barak, Eli Cohen, linux-rdma,
Doug Ledford, Eran Ben Elisha, Yann Droneaud
On Mon, Nov 9, 2015 at 9:18 PM, Leon Romanovsky <leon-2ukJVAZIZ/Y@public.gmane.org> wrote:
> On Mon, Nov 09, 2015 at 06:30:55PM +0200, Matan Barak wrote:
>>
>> +static inline bool ib_is_udata_cleared(struct ib_udata *udata,
>> + char cleared_char,
>> + size_t offset,
>> + size_t len)
>> +{
>> + short i;
>> +
>> + for (i = 0; i < len; i++) {
> You are comparing "len" which is declared as size_t which is "unsigned" int and "i" which is "short".
Thanks, I'll change i to be unsigned.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 3/4] IB/mlx5: Add support querying timestamp related fields in query_device
[not found] ` <20151109192610.GF4023-2ukJVAZIZ/Y@public.gmane.org>
@ 2015-11-10 8:52 ` Matan Barak
0 siblings, 0 replies; 22+ messages in thread
From: Matan Barak @ 2015-11-10 8:52 UTC (permalink / raw)
To: leon-2ukJVAZIZ/Y, Matan Barak, Eli Cohen, linux-rdma,
Doug Ledford, Eran Ben Elisha, Yann Droneaud
On Mon, Nov 9, 2015 at 9:26 PM, Leon Romanovsky <leon-2ukJVAZIZ/Y@public.gmane.org> wrote:
> On Mon, Nov 09, 2015 at 06:30:56PM +0200, Matan Barak wrote:
>> +
>> + if (uhw->outlen) {
>> + err = ib_copy_to_udata(uhw, &resp, resp.response_length);
>> + if (err)
>> + return err;
>> + }
>> +
>> return 0;
> What do you think about to rewrite this part of code to be something
> like that?
> + int ret = 0;
> .....
> + if (uhw->outlen)
> + ret = ib_copy_to_udata(uhw, &resp, resp.response_length);
> + return ret;
I'll change that. Thanks.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <1447086657-15358-2-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
` (3 preceding siblings ...)
2015-11-09 23:24 ` Jason Gunthorpe
@ 2015-11-19 14:54 ` Christoph Hellwig
[not found] ` <20151119145457.GA1104-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
4 siblings, 1 reply; 22+ messages in thread
From: Christoph Hellwig @ 2015-11-19 14:54 UTC (permalink / raw)
To: Matan Barak
Cc: Eli Cohen, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Doug Ledford,
Eran Ben Elisha, Yann Droneaud
> +enum {
> + CQ_CREATE_FLAGS_SUPPORTED = IB_CQ_FLAGS_TIMESTAMP_COMPLETION
> +};
How does userspace know the value of IB_CQ_FLAGS_TIMESTAMP_COMPLETION?
It's not defined in any UAPI header.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <20151119145457.GA1104-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
@ 2015-11-22 9:05 ` Matan Barak
[not found] ` <CAAKD3BAOq+26vV1k5LKOXgOfdr2J92fBta31Pv9XHhEcFc3v6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 22+ messages in thread
From: Matan Barak @ 2015-11-22 9:05 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Matan Barak, Eli Cohen, linux-rdma, Doug Ledford,
Eran Ben Elisha, Yann Droneaud, Haggai Eran
On Thu, Nov 19, 2015 at 4:54 PM, Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> wrote:
>> +enum {
>> + CQ_CREATE_FLAGS_SUPPORTED = IB_CQ_FLAGS_TIMESTAMP_COMPLETION
>> +};
>
>
> How does userspace know the value of IB_CQ_FLAGS_TIMESTAMP_COMPLETION?
>
> It's not defined in any UAPI header.
Currently, a lot of flags are defined both in rdma/ib_verbs.h and are
redefined as part of libibverbs.
For example, IB_ODP_SUPPORT is defined in rdma/ib_verbs.h and
redefined in libibverbs. We took the same approach here.
We could put all of these flags in uverbs, but I think we should be
consistent. So either only uapi exclusive structures should be placed
in
uapi or all uapi related data should be placed there.
Regards,
Matan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <CAAKD3BAOq+26vV1k5LKOXgOfdr2J92fBta31Pv9XHhEcFc3v6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2015-11-22 10:15 ` Christoph Hellwig
[not found] ` <20151122101520.GA25187-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
0 siblings, 1 reply; 22+ messages in thread
From: Christoph Hellwig @ 2015-11-22 10:15 UTC (permalink / raw)
To: Matan Barak
Cc: Christoph Hellwig, Matan Barak, Eli Cohen, linux-rdma,
Doug Ledford, Eran Ben Elisha, Yann Droneaud, Haggai Eran
Hi Matan,
IB_CQ_FLAGS_TIMESTAMP_COMPLETION is _only_ used in the uverbs interface.
But other than that userspace ABIs really must go to the UAPI headers,
otherwise they will be broken sooner or later. RDMA is an unfortunate
oddball under the kernel subsystems that's been ignoring the rule for
now. Please ensure at least new interfaces follow this principle, and
old code will need to be fixed up as well.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command
[not found] ` <20151122101520.GA25187-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
@ 2015-11-22 14:04 ` Matan Barak
0 siblings, 0 replies; 22+ messages in thread
From: Matan Barak @ 2015-11-22 14:04 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Matan Barak, Eli Cohen, linux-rdma, Doug Ledford,
Eran Ben Elisha, Yann Droneaud, Haggai Eran
On Sun, Nov 22, 2015 at 12:15 PM, Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> wrote:
> Hi Matan,
>
> IB_CQ_FLAGS_TIMESTAMP_COMPLETION is _only_ used in the uverbs interface.
>
Currently this is used only for uverbs interface. The reason for that
is that we've only pushed completion timestamping for user-space
support.
However, there's no reason not to add support for completion
timestamping for ULPs. Therefore, the same flag could be relevant for
ULPs as well.
> But other than that userspace ABIs really must go to the UAPI headers,
> otherwise they will be broken sooner or later. RDMA is an unfortunate
> oddball under the kernel subsystems that's been ignoring the rule for
So do you imply ib_verbs.h should include ib_user_verbs.h?
> now. Please ensure at least new interfaces follow this principle, and
> old code will need to be fixed up as well.
Ok, I'll follow this principle for new features.
Matan
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2015-11-22 14:04 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-09 16:30 [PATCH for-next 0/4] User-space time-stamping support for mlx5_ib Matan Barak
[not found] ` <1447086657-15358-1-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 16:30 ` [PATCH for-next 1/4] IB/mlx5: Add create_cq extended command Matan Barak
[not found] ` <1447086657-15358-2-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:06 ` Eli Cohen
2015-11-09 17:06 ` Eli Cohen
2015-11-09 23:22 ` Jason Gunthorpe
[not found] ` <20151109232259.GB20707-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-11-10 8:28 ` Matan Barak
2015-11-09 23:24 ` Jason Gunthorpe
[not found] ` <20151109232400.GC20707-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-11-10 8:30 ` Matan Barak
2015-11-19 14:54 ` Christoph Hellwig
[not found] ` <20151119145457.GA1104-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-11-22 9:05 ` Matan Barak
[not found] ` <CAAKD3BAOq+26vV1k5LKOXgOfdr2J92fBta31Pv9XHhEcFc3v6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-22 10:15 ` Christoph Hellwig
[not found] ` <20151122101520.GA25187-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-11-22 14:04 ` Matan Barak
2015-11-09 16:30 ` [PATCH for-next 2/4] IB/core: Add ib_is_udata_cleared Matan Barak
[not found] ` <1447086657-15358-3-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:07 ` Eli Cohen
2015-11-09 19:18 ` Leon Romanovsky
[not found] ` <20151109191817.GE4023-2ukJVAZIZ/Y@public.gmane.org>
2015-11-10 8:38 ` Matan Barak
2015-11-09 16:30 ` [PATCH for-next 3/4] IB/mlx5: Add support querying timestamp related fields in query_device Matan Barak
[not found] ` <1447086657-15358-4-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:08 ` Eli Cohen
2015-11-09 19:26 ` Leon Romanovsky
[not found] ` <20151109192610.GF4023-2ukJVAZIZ/Y@public.gmane.org>
2015-11-10 8:52 ` Matan Barak
2015-11-09 16:30 ` [PATCH for-next 4/4] IB/mlx5: Mmap the HCA's core clock register to user-space Matan Barak
[not found] ` <1447086657-15358-5-git-send-email-matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2015-11-09 17:09 ` Eli Cohen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.