summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h
diff options
context:
space:
mode:
authorIgor Russkikh <Igor.Russkikh@aquantia.com>2019-03-23 18:23:31 +0300
committerDavid S. Miller <davem@davemloft.net>2019-03-24 05:16:53 +0300
commit7e2698c4fd35f30fd3e5932ca2825fe5a461e265 (patch)
tree7fa0ca74fd3cc7e01e3536696f1652deaa82d9e2 /drivers/net/ethernet/aquantia/atlantic/aq_cfg.h
parentd64fee0a0320ecc678903c30c2fed56b68979011 (diff)
downloadlinux-7e2698c4fd35f30fd3e5932ca2825fe5a461e265.tar.xz
net: aquantia: optimize rx path using larger preallocated skb len
Atlantic driver used 14 bytes preallocated skb size. That made L3 protocol processing inefficient because pskb_pull had to fetch all the L3/L4 headers from extra fragments. Specially on UDP flows that caused extra packet drops because CPU was overloaded with pskb_pull. This patch uses eth_get_headlen for skb preallocation. Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aquantia/atlantic/aq_cfg.h')
-rw-r--r--drivers/net/ethernet/aquantia/atlantic/aq_cfg.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h b/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h
index 3944ce7f0870..aba550770adf 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h
@@ -38,6 +38,8 @@
#define AQ_CFG_TX_CLEAN_BUDGET 256U
+#define AQ_CFG_RX_HDR_SIZE 256U
+
/* LRO */
#define AQ_CFG_IS_LRO_DEF 1U