Re: [PATCH v2 rdma-next 3/3] qedr: Add user space support for SRQ

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jul 08, 2018 at 04:59:51PM +0300, Yuval Bason wrote:

> diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
> index b2a7ec4..a065a6a 100644
> +++ b/drivers/infiniband/hw/qedr/verbs.c
> @@ -65,6 +65,14 @@ static inline int qedr_ib_copy_to_udata(struct ib_udata *udata, void *src,
>  	return ib_copy_to_udata(udata, src, min_len);
>  }
>  
> +static inline int qedr_ib_copy_from_udata(void *dest, struct ib_udata *udata,
> +					  size_t len)
> +{
> +	size_t min_len = min_t(size_t, len, udata->inlen);
> +
> +	return ib_copy_from_udata(dest, udata, min_len);
> +}

Can we please not have these sorts of common things inlined in
drivers? Same for copy_to

This should also zero fill the trailing data.

> @@ -1471,7 +1566,10 @@ int qedr_destroy_srq(struct ib_srq *ibsrq)
>  	in_params.srq_id = srq->srq_id;
>  	dev->ops->rdma_destroy_srq(dev->rdma_ctx, &in_params);
>  
> -	qedr_free_srq_kernel_params(srq);
> +	if (ibsrq->pd->uobject && ibsrq->pd->uobject->context)

What is the test for uobject->context doing? If uboject exists then
uobject->context is always valid.

> +struct qedr_create_srq_ureq {
> +	/* user space virtual address of producer pair */
> +	__u64 prod_pair_addr;
> +
> +	/* user space virtual address of SRQ buffer */
> +	__u64 srq_addr;
> +
> +	/* length of SRQ buffer */
> +	__u64 srq_len;
> +};
> +
> +struct qedr_create_srq_uresp {
> +	__u16 srq_id;
> +};

Surprising this compiles in rdma-core..

Oh look, the rdma-core patch changes it:

+struct qedr_create_srq_uresp {
+	__u16 srq_id;
+	__u16 reserved0;
+	__u32 reserved1;
+};

Words fail me. :(

You must use the kernel-headers/update script in rdma-core to make any
changes to the kernel-headers directory.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux