[LEDE-DEV] [PATCH 2/3] ag71xx: Remove ___cacheline_aligned from ring structs.

Rosen Penev rosenp at gmail.com
Tue Feb 6 14:27:29 PST 2018


Qualcomm's struct members and inner workings of their driver are all different.
While this might make sense for their driver, it seems to hurt here. In
iperf3, i've seen inconsistent results including a drop of 100mbps on an
Archer C7v4. This patch keeps the results high and relatively consistent.

Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
 .../linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
index d7897a9..8d7976e 100644
--- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
@@ -159,8 +159,8 @@ struct ag71xx {
 	 * Critical data related to the per-packet data path are clustered
 	 * early in this structure to help improve the D-cache footprint.
 	 */
-	struct ag71xx_ring	rx_ring ____cacheline_aligned;
-	struct ag71xx_ring	tx_ring ____cacheline_aligned;
+	struct ag71xx_ring	rx_ring;
+	struct ag71xx_ring	tx_ring;
 
 	unsigned int            max_frame_len;
 	unsigned int            desc_pktlen_mask;
-- 
2.7.4




More information about the Lede-dev mailing list