linux/drivers/net/ethernet/intel
Alexander Duyck 541ea69a90 ixgbe: Add support for maximum headroom when using build_skb
This patch increases the headroom allocated when using build_skb on a
system with 4K pages.  Specifically the breakdown of headroom versus cache
size is as follows:
    L1 Cache Size           Headroom
    64                      192
    64, NET_IP_ALIGN == 2   194
    128                     128
    128, NET_IP_ALIGN == 2  130
    256                     512
    256, NET_IP_ALIGN == 2  258

I stopped at supporting only a cache line size of 256 as that was the
largest cache size I could find supported in the kernel.

With this we are guaranteeing at least 128 bytes of headroom to spare in
the frame.  This should be enough for us to insert a couple of IPv6 headers
if needed which is likely enough room for anything XDP should need.

I'm leaving the padding for systems with pages larger than 4K unmodified
for now.  XDP currently isn't really setup to work on those types of
systems so we can cross that bridge when we get there.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-04-18 13:32:45 -07:00
..
e1000 e1000: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:27:58 -07:00
e1000e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
fm10k fm10k: do not enqueue mailbox when host not ready 2017-04-05 22:47:31 -07:00
i40e i40e/i40evf: Use build_skb to build frames 2017-04-08 02:53:51 -07:00
i40evf i40e/i40evf: Use build_skb to build frames 2017-04-08 02:53:51 -07:00
igb igb: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:42:19 -07:00
igbvf igbvf: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:51:39 -07:00
ixgb ixgb: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:53:19 -07:00
ixgbe ixgbe: Add support for maximum headroom when using build_skb 2017-04-18 13:32:45 -07:00
ixgbevf ixgbevf: use new api ethtool_{get|set}_link_ksettings 2017-04-18 13:28:31 -07:00
e100.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
Kconfig i40e: Drop FCoE code from core driver files 2017-03-27 16:47:43 -07:00
Makefile