[dpdk-dev] [PATCH 06/10] net/enetc: cache align enetc bdr structure

Hemant Agrawal hemant.agrawal at nxp.com
Mon Mar 2 15:32:05 CET 2020


From: Alex Marginean <alexandru.marginean at nxp.com>

Reorder the members of the structure so that the ones used on datapath fit
in a single cache line, to slightly reduce pressure on cache and miss rate.

Signed-off-by: Alex Marginean <alexandru.marginean at nxp.com>
---
 drivers/net/enetc/enetc.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/enetc/enetc.h b/drivers/net/enetc/enetc.h
index 8c830a5c0..14ef3bc18 100644
--- a/drivers/net/enetc/enetc.h
+++ b/drivers/net/enetc/enetc.h
@@ -53,23 +53,23 @@ struct enetc_swbd {
 };
 
 struct enetc_bdr {
-	struct rte_eth_dev *ndev;
-	struct rte_mempool *mb_pool;   /* mbuf pool to populate RX ring. */
 	void *bd_base;			/* points to Rx or Tx BD ring */
+	struct enetc_swbd *q_swbd;
 	union {
 		void *tcir;
 		void *rcir;
 	};
-	uint16_t index;
 	int bd_count; /* # of BDs */
 	int next_to_use;
 	int next_to_clean;
-	struct enetc_swbd *q_swbd;
+	uint16_t index;
+	uint8_t	crc_len; /* 0 if CRC stripped, 4 otherwise */
 	union {
 		void *tcisr; /* Tx */
 		int next_to_alloc; /* Rx */
 	};
-	uint8_t	crc_len; /* 0 if CRC stripped, 4 otherwise */
+	struct rte_mempool *mb_pool;   /* mbuf pool to populate RX ring. */
+	struct rte_eth_dev *ndev;
 };
 
 /*
-- 
2.17.1



More information about the dev mailing list