Skip to contentSkip to conversation

RDMA/vmw_pvrdma: Patches for 4.14

PATCH In review Adit Ranadive 3 participants 6 messages Aug 29, 2017 – Aug 30, 2017 3 messages not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover RDMA/vmw_pvrdma: Patches for 4.14

Hi Doug,

Here are a couple more patches for the VMware PVRDMA driver for 4.14. These are based on your for-next branch.

Thanks,
Adit
---
Changes v0 -> v1:
- Dropped the PVRDMA network type enums and the conversion function.
---
Adit Ranadive (1):
RDMA/vmw_pvrdma: Fix a signedness

Aditya Sarwade (1):
RDMA/vmw_pvrdma: Report network header type in WC

 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 3 ++-
 include/uapi/rdma/vmw_pvrdma-abi.h           | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)
Signature · 6 lines
2.7.4

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

A message that is not in the archive (sent off-list or not yet received): cover.1504045411.git.aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org

#2 lore raw

PATCH 1/2 RDMA/vmw_pvrdma: Report network header type in WC

From: Aditya Sarwade <[email protected]>

We should report the network header type in the work completion so that the kernel can infer the right RoCE type headers.

---
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 1 +
 include/uapi/rdma/vmw_pvrdma-abi.h           | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +1 -0
index 90aa326..8a12dc7 100644
@@ -389,6 +389,7 @@ static int pvrdma_poll_one(struct pvrdma_cq *cq, struct pvrdma_qp **cur_qp,
 	wc->dlid_path_bits = cqe->dlid_path_bits;
 	wc->port_num = cqe->port_num;
 	wc->vendor_err = cqe->vendor_err;
+	wc->network_hdr_type = cqe->network_hdr_type;
 
 	/* Update shared ring state */
 	pvrdma_idx_ring_inc(&cq->ring_state->rx.cons_head, cq->ibcq.cqe);
include/uapi/rdma/vmw_pvrdma-abi.h +4 -2
index c8c1d2d..c6569b0 100644
@@ -125,7 +125,8 @@ enum pvrdma_wc_flags {
 	PVRDMA_WC_IP_CSUM_OK		= 1 << 3,
 	PVRDMA_WC_WITH_SMAC		= 1 << 4,
 	PVRDMA_WC_WITH_VLAN		= 1 << 5,
-	PVRDMA_WC_FLAGS_MAX		= PVRDMA_WC_WITH_VLAN,
+	PVRDMA_WC_WITH_NETWORK_HDR_TYPE	= 1 << 6,
+	PVRDMA_WC_FLAGS_MAX		= PVRDMA_WC_WITH_NETWORK_HDR_TYPE,
 };
 
 struct pvrdma_alloc_ucontext_resp {
@@ -283,7 +284,8 @@ struct pvrdma_cqe {
 	__u8 dlid_path_bits;
 	__u8 port_num;
 	__u8 smac[6];
-	__u8 reserved2[7]; /* Pad to next power of 2 (64). */
+	__u8 network_hdr_type;
+	__u8 reserved2[6]; /* Pad to next power of 2 (64). */
 };
 
 #endif /* __VMW_PVRDMA_ABI_H__ */
Signature · 6 lines
2.7.4

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

A message that is not in the archive (sent off-list or not yet received): 2abd8333de3bb9a2e609f107b1826470a54d1c30.1504045411.git.aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org

Reviewed-by
#4 lore raw

Re: [PATCH for-next v1 1/2] RDMA/vmw_pvrdma: Report network header type in WC

Quoted 40 lines · Adit Ranadive

From: Aditya Sarwade <[email protected]>

We should report the network header type in the work completion so that the kernel can infer the right RoCE type headers.

---
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 1 +
 include/uapi/rdma/vmw_pvrdma-abi.h           | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +1 -0
index 90aa326..8a12dc7 100644
@@ -389,6 +389,7 @@ static int pvrdma_poll_one(struct pvrdma_cq *cq, struct pvrdma_qp **cur_qp,
 	wc->dlid_path_bits = cqe->dlid_path_bits;
 	wc->port_num = cqe->port_num;
 	wc->vendor_err = cqe->vendor_err;
+	wc->network_hdr_type = cqe->network_hdr_type;
 
 	/* Update shared ring state */
 	pvrdma_idx_ring_inc(&cq->ring_state->rx.cons_head, cq->ibcq.cqe);
include/uapi/rdma/vmw_pvrdma-abi.h +2 -1
index c8c1d2d..c6569b0 100644
@@ -125,7 +125,8 @@ enum pvrdma_wc_flags {
 	PVRDMA_WC_IP_CSUM_OK		= 1 << 3,
 	PVRDMA_WC_WITH_SMAC		= 1 << 4,
 	PVRDMA_WC_WITH_VLAN		= 1 << 5,
-	PVRDMA_WC_FLAGS_MAX		= PVRDMA_WC_WITH_VLAN,
+	PVRDMA_WC_WITH_NETWORK_HDR_TYPE	= 1 << 6,
+	PVRDMA_WC_FLAGS_MAX		= PVRDMA_WC_WITH_NETWORK_HDR_TYPE,
 };
 
 struct pvrdma_alloc_ucontext_resp {

include/uapi/rdma/vmw_pvrdma-abi.h struct pvrdma_cqe { · line 289

Quoted 7 lines
include/uapi/rdma/vmw_pvrdma-abi.h +2 -1
@@ -283,7 +284,8 @@ struct pvrdma_cqe {
 	__u8 dlid_path_bits;
 	__u8 port_num;
 	__u8 smac[6];
-	__u8 reserved2[7]; /* Pad to next power of 2 (64). */
+	__u8 network_hdr_type;
+	__u8 reserved2[6]; /* Pad to next power of 2 (64). */
 };
Quoted 9 lines
include/uapi/rdma/vmw_pvrdma-abi.h +0 -0
 #endif /* __VMW_PVRDMA_ABI_H__ */
Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw

PATCH 2/2 RDMA/vmw_pvrdma: Fix a signedness

In reply to a message not in the archive
Fixes 29c8d9eba550 ("IB: Add vmw_pvrdma driver")
---
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +1 -1
index 8a12dc7..3562c0c 100644
@@ -299,7 +299,7 @@ static inline struct pvrdma_cqe *get_cqe(struct pvrdma_cq *cq, int i)
 
 void _pvrdma_flush_cqe(struct pvrdma_qp *qp, struct pvrdma_cq *cq)
 {
-	int head;
+	unsigned int head;
 	int has_data;
 
 	if (!cq->is_kernel)
Signature · 6 lines
2.7.4

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

A message that is not in the archive (sent off-list or not yet received): 41188f37ed9e524e6f53759ec92f9dd94c8b47a1.1504045412.git.aditr-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org

Reviewed-by
#7 lore raw

Re: [PATCH for-next v1 2/2] RDMA/vmw_pvrdma: Fix a signedness

Quoted 11 lines · Adit Ranadive
Fixes 29c8d9eba550 ("IB: Add vmw_pvrdma driver")
---
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +0 -0
index 8a12dc7..3562c0c 100644

drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c static inline struct pvrdma_cqe *get_cqe(struct pvrdma_cq *cq, int i) · line 304

Quoted 7 lines
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +1 -1
@@ -299,7 +299,7 @@ static inline struct pvrdma_cqe *get_cqe(struct pvrdma_cq *cq, int i)
 
 void _pvrdma_flush_cqe(struct pvrdma_qp *qp, struct pvrdma_cq *cq)
 {
-	int head;
+	unsigned int head;
 	int has_data;
 
Quoted 8 lines
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c +0 -0
 	if (!cq->is_kernel)
Signature · 6 lines
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#8 lore raw
In reply to a message not in the archive
Quoted 14 lines · Adit Ranadive

Hi Doug,

Here are a couple more patches for the VMware PVRDMA driver for 4.14. These are based on your for-next branch.

Thanks,
Adit
---
Changes v0 -> v1:
- Dropped the PVRDMA network type enums and the conversion function.
---
Adit Ranadive (1):
RDMA/vmw_pvrdma: Fix a signedness

Quoted 7 lines

Aditya Sarwade (1):
RDMA/vmw_pvrdma: Report network header type in WC

 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 3 ++-
 include/uapi/rdma/vmw_pvrdma-abi.h           | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

Thanks, will apply these today.

Signature · 3 lines
Doug Ledford <[email protected]>
    GPG Key ID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD