Created
June 28, 2018 00:05
-
-
Save neheb/613ed787f55e34b040f26fa27839fbd7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 25db38a65568d13b5ef070b29dc13bde137d4d6d Mon Sep 17 00:00:00 2001 | |
From: Rosen Penev <[email protected]> | |
Date: Wed, 27 Jun 2018 17:02:36 -0700 | |
Subject: [PATCH] ag71xx: Reorder ring struct for lower cache thrashing. | |
Based on Qualcomm's upstream code. Reordered a bit different. | |
iperf3 speed goes from ~279mbps to ~320mbps on an Archer C7v4. | |
Signed-off-by: Rosen Penev <[email protected]> | |
--- | |
.../drivers/net/ethernet/atheros/ag71xx/ag71xx.h | 13 ++++++++----- | |
1 file changed, 8 insertions(+), 5 deletions(-) | |
diff --git a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h | |
index 22b22522a3..533fe98170 100644 | |
--- a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h | |
+++ b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h | |
@@ -107,13 +107,16 @@ struct ag71xx_buf { | |
}; | |
struct ag71xx_ring { | |
- struct ag71xx_buf *buf; | |
- u8 *descs_cpu; | |
- dma_addr_t descs_dma; | |
- u16 desc_split; | |
- u16 order; | |
+ /* "Hot" fields in the data path. */ | |
unsigned int curr; | |
unsigned int dirty; | |
+ | |
+ /* "Cold" fields - not used in the data path. */ | |
+ struct ag71xx_buf *buf; | |
+ u16 order; | |
+ u16 desc_split; | |
+ dma_addr_t descs_dma; | |
+ u8 *descs_cpu; | |
}; | |
struct ag71xx_int_stats { | |
-- | |
2.17.1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment