diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-08-12 17:26:00 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2013-08-12 17:26:00 +0000 |
commit | 7fff30d5b92629253f4c4f42bab22d9d14b0edec (patch) | |
tree | 54186c62c68b8948acb074592c006aff3ec0b096 /target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h | |
parent | b10717fee91d46a3a441c67aceaae42b1b91caf4 (diff) | |
download | upstream-7fff30d5b92629253f4c4f42bab22d9d14b0edec.tar.gz upstream-7fff30d5b92629253f4c4f42bab22d9d14b0edec.tar.bz2 upstream-7fff30d5b92629253f4c4f42bab22d9d14b0edec.zip |
ar71xx: ethernet: cache skb->len in the tx function to avoid accessing it again in completion
Improves ethernet performance, especially during bridging
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37761 3c298f89-4303-0410-b956-a3cf2f4a3e73
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 | 7 |
1 files changed, 5 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 b9d95adaf6..6d51e722b0 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 @@ -91,8 +91,11 @@ struct ag71xx_buf { void *rx_buf; }; struct ag71xx_desc *desc; - dma_addr_t dma_addr; - unsigned long timestamp; + union { + dma_addr_t dma_addr; + unsigned long timestamp; + }; + unsigned int len; }; struct ag71xx_ring { |