linux/drivers/net/ethernet/intel/ixgbe
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
..
ixgbe_82598.c ixgbe: Remove unused firmware version functions and method 2017-01-03 13:03:38 -08:00
ixgbe_82599.c scripts/spelling.txt: add "applys" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
ixgbe_common.c net:add one common config ARCH_WANT_RELAX_ORDER to support relax ordering 2017-01-18 16:33:00 -05:00
ixgbe_common.h ixgbe: Implement firmware interface to access some PHYs 2017-01-03 13:03:39 -08:00
ixgbe_dcb_82598.c ixgbe: use BIT() macro 2016-04-25 04:15:11 -07:00
ixgbe_dcb_82598.h
ixgbe_dcb_82599.c ixgbe: use BIT() macro 2016-04-25 04:15:11 -07:00
ixgbe_dcb_82599.h
ixgbe_dcb_nl.c ixgbe: prefix Data Center Bridge ops struct 2017-02-16 04:02:44 -08:00
ixgbe_dcb.c ixgbe: use BIT() macro 2016-04-25 04:15:11 -07:00
ixgbe_dcb.h
ixgbe_debugfs.c
ixgbe_ethtool.c ixgbe: Add X552 XFI backplane support 2017-04-18 13:06:54 -07:00
ixgbe_fcoe.c ixgbe: Fix MDD events generated when FCoE+SRIOV are enabled 2016-01-08 04:15:00 -08:00
ixgbe_fcoe.h
ixgbe_lib.c ixgbe: get rid of custom busy polling code 2017-02-03 17:17:52 -05:00
ixgbe_main.c ixgbe: Add support for maximum headroom when using build_skb 2017-04-18 13:32:45 -07:00
ixgbe_mbx.c ixgbe: use BIT() macro 2016-04-25 04:15:11 -07:00
ixgbe_mbx.h ixgbe: Add PF support for VF promiscuous mode 2017-01-03 13:03:40 -08:00
ixgbe_model.h ixgbe: Fix deleting link filters for cls_u32 offloads 2016-06-29 10:05:24 -07:00
ixgbe_phy.c ixgbe: Remove driver config for KX4 PHY 2017-04-18 13:04:09 -07:00
ixgbe_phy.h ixgbe: Remove unused firmware version functions and method 2017-01-03 13:03:38 -08:00
ixgbe_ptp.c ixgbe: Fix incorrect bitwise operations of PTP Rx timestamp flags 2017-01-03 13:03:37 -08:00
ixgbe_sriov.c ixgbe: do not use adapter->num_vfs when setting VFs via module parameter 2017-04-18 13:25:30 -07:00
ixgbe_sriov.h ixgbe: do not use adapter->num_vfs when setting VFs via module parameter 2017-04-18 13:25:30 -07:00
ixgbe_sysfs.c
ixgbe_type.h ixgbe: Remove unused define 2017-04-18 13:26:53 -07:00
ixgbe_x540.c ixgbe: Remove unused firmware version functions and method 2017-01-03 13:03:38 -08:00
ixgbe_x540.h ixgbe: Place SWFW semaphore in known valid state at probe 2016-04-04 17:44:50 -07:00
ixgbe_x550.c ixgbe: add check for VETO bit when configuring link for KR 2017-04-18 13:29:55 -07:00
ixgbe.h ixgbe: Add support for maximum headroom when using build_skb 2017-04-18 13:32:45 -07:00
Makefile