Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9884bcdc authored by Naresh Gottumukkala's avatar Naresh Gottumukkala Committed by Roland Dreier
Browse files

RDMA/ocrdma: Reorg structures to avoid padding



Reorg structures to better packing to avoid cacheline padding.

Signed-off-by: default avatarNaresh Gottumukkala <bgottumukkala@emulex.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent df176ea0
Loading
Loading
Loading
Loading
+8 −6
Original line number Original line Diff line number Diff line
@@ -236,15 +236,16 @@ struct ocrdma_srq {
	struct ib_srq ibsrq;
	struct ib_srq ibsrq;
	struct ocrdma_dev *dev;
	struct ocrdma_dev *dev;
	u8 __iomem *db;
	u8 __iomem *db;
	struct ocrdma_qp_hwq_info rq;
	u64 *rqe_wr_id_tbl;
	u32 *idx_bit_fields;
	u32 bit_fields_len;

	/* provide synchronization to multiple context(s) posting rqe */
	/* provide synchronization to multiple context(s) posting rqe */
	spinlock_t q_lock ____cacheline_aligned;
	spinlock_t q_lock ____cacheline_aligned;


	struct ocrdma_qp_hwq_info rq;
	struct ocrdma_pd *pd;
	struct ocrdma_pd *pd;
	u32 id;
	u32 id;
	u64 *rqe_wr_id_tbl;
	u32 *idx_bit_fields;
	u32 bit_fields_len;
};
};


struct ocrdma_qp {
struct ocrdma_qp {
@@ -252,8 +253,6 @@ struct ocrdma_qp {
	struct ocrdma_dev *dev;
	struct ocrdma_dev *dev;


	u8 __iomem *sq_db;
	u8 __iomem *sq_db;
	/* provide synchronization to multiple context(s) posting wqe, rqe */
	spinlock_t q_lock ____cacheline_aligned;
	struct ocrdma_qp_hwq_info sq;
	struct ocrdma_qp_hwq_info sq;
	struct {
	struct {
		uint64_t wrid;
		uint64_t wrid;
@@ -263,6 +262,9 @@ struct ocrdma_qp {
		uint8_t  rsvd[3];
		uint8_t  rsvd[3];
	} *wqe_wr_id_tbl;
	} *wqe_wr_id_tbl;
	u32 max_inline_data;
	u32 max_inline_data;

	/* provide synchronization to multiple context(s) posting wqe, rqe */
	spinlock_t q_lock ____cacheline_aligned;
	struct ocrdma_cq *sq_cq;
	struct ocrdma_cq *sq_cq;
	/* list maintained per CQ to flush SQ errors */
	/* list maintained per CQ to flush SQ errors */
	struct list_head sq_entry;
	struct list_head sq_entry;