From: Knut Omang Date: Tue, 21 Apr 2015 10:20:08 +0000 (+0200) Subject: ib_uverbs: Support for kernel implementation of XRC calls from user space X-Git-Tag: v4.1.12-92~293^2~1^2~4 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7e762be5f798bd38c7685adbed2fded754cc672a;p=users%2Fjedix%2Flinux-maple.git ib_uverbs: Support for kernel implementation of XRC calls from user space Extends the kernel/user space interface for work requests to also provide the XRC shared receive queue number. Necessary to support kernel level implementation of user verbs for XRC. Requires a corresponding libibverbs change to support XRC. Orabug: 20930262 Signed-off-by: Knut Omang Signed-off-by: Mukesh Kacker --- diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c index 0694210e9a894..9825b41a1f0ca 100644 --- a/drivers/infiniband/core/uverbs_cmd.c +++ b/drivers/infiniband/core/uverbs_cmd.c @@ -2246,6 +2246,8 @@ ssize_t ib_uverbs_post_send(struct ib_uverbs_file *file, next->ex.imm_data = (__be32 __force) user_wr->ex.imm_data; } else { + if (qp->qp_type == IB_QPT_XRC_INI) + next->xrc_remote_srq_num = user_wr->xrc_remote_srq_num; switch (next->opcode) { case IB_WR_RDMA_WRITE_WITH_IMM: next->ex.imm_data = diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h index 332052246f9b7..d6f5a147350e4 100644 --- a/include/uapi/rdma/ib_user_verbs.h +++ b/include/uapi/rdma/ib_user_verbs.h @@ -664,6 +664,8 @@ struct ib_uverbs_send_wr { __u32 reserved; } ud; } wr; + __u32 xrc_remote_srq_num; + __u32 reserved; }; struct ib_uverbs_post_send {