diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-05-28 02:55:59 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-05-28 02:55:59 +0000 |
commit | 367e4b3994543e40437e4e73305af197c21c1055 (patch) | |
tree | a300a3143325d80331a823eb140a2bd3887d686c /target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h | |
parent | b03dd7a531496e0d5c4a72afe3f4ee26799e3144 (diff) | |
download | master-31e0f0ae-367e4b3994543e40437e4e73305af197c21c1055.tar.gz master-31e0f0ae-367e4b3994543e40437e4e73305af197c21c1055.tar.bz2 master-31e0f0ae-367e4b3994543e40437e4e73305af197c21c1055.zip |
ar71xx: improve rx performance of the ethernet driver by using build_skb to deliver a cache-hot skb to the network stack
SVN-Revision: 31934
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h')
-rw-r--r-- | target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h | 6 |
1 files changed, 5 insertions, 1 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 881741660b..b9d95adaf6 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 @@ -53,6 +53,7 @@ #define AG71XX_TX_MTU_LEN 1540 #define AG71XX_RX_PKT_SIZE \ (ETH_FRAME_LEN + ETH_FCS_LEN + VLAN_HLEN) +#define AG71XX_RX_BUF_SIZE (AG71XX_RX_PKT_SIZE + NET_SKB_PAD + NET_IP_ALIGN) #define AG71XX_TX_RING_SIZE_DEFAULT 64 #define AG71XX_RX_RING_SIZE_DEFAULT 128 @@ -85,7 +86,10 @@ struct ag71xx_desc { } __attribute__((aligned(4))); struct ag71xx_buf { - struct sk_buff *skb; + union { + struct sk_buff *skb; + void *rx_buf; + }; struct ag71xx_desc *desc; dma_addr_t dma_addr; unsigned long timestamp; |