linux/drivers/net/ethernet/intel/i40e
Alexander Lobakin bc97f9c6f9 i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
{__,}napi_alloc_skb() allocates and reserves additional NET_SKB_PAD
+ NET_IP_ALIGN for any skb.
OTOH, i40e_construct_skb_zc() currently allocates and reserves
additional `xdp->data - xdp->data_hard_start`, which is
XDP_PACKET_HEADROOM for XSK frames.
There's no need for that at all as the frame is post-XDP and will
go only to the networking stack core.
Pass the size of the actual data only to __napi_alloc_skb() and
don't reserve anything. This will give enough headroom for stack
processing.

Fixes: 0a714186d3 ("i40e: add AF_XDP zero-copy Rx support")
Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Tested-by: Kiran Bhandare <kiranx.bhandare@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2022-01-31 09:37:47 -08:00
..
i40e_adminq_cmd.h i40e: Update FW API version 2022-01-07 09:04:21 -08:00
i40e_adminq.c i40e: Minimize amount of busy-waiting during AQ send 2022-01-07 09:04:21 -08:00
i40e_adminq.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_alloc.h
i40e_client.c RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw 2021-06-02 20:06:36 -03:00
i40e_common.c i40e: remove variables set but not used 2022-01-07 09:04:21 -08:00
i40e_dcb_nl.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_dcb.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_dcb.h i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_ddp.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_debugfs.c i40e: fix unsigned stat widths 2022-01-20 10:25:41 -08:00
i40e_devids.h i40e: Add support for 5Gbps cards 2020-06-25 22:25:13 -07:00
i40e_diag.c
i40e_diag.h
i40e_ethtool.c ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
i40e_hmc.c
i40e_hmc.h i40e: remove unused defines 2020-06-25 22:25:13 -07:00
i40e_lan_hmc.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_lan_hmc.h
i40e_main.c i40e: Remove useless DMA-32 fallback configuration 2022-01-27 08:58:24 -08:00
i40e_nvm.c intel: clean up mismatched header comments 2021-03-23 11:34:02 -07:00
i40e_osdep.h i40e: remove unused defines 2020-06-25 22:25:13 -07:00
i40e_prototype.h i40e: Minimize amount of busy-waiting during AQ send 2022-01-07 09:04:21 -08:00
i40e_ptp.c net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
i40e_register.h i40e: Fix for failed to init adminq while VF reset 2022-01-20 10:25:40 -08:00
i40e_status.h i40e: Remove non-inclusive language 2022-01-07 09:04:21 -08:00
i40e_trace.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_txrx_common.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_txrx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
i40e_txrx.h i40e: Fix queue-to-TC mapping on Tx 2021-07-23 07:44:48 -07:00
i40e_type.h i40e: clean up packet type lookup table 2021-06-18 09:04:44 -07:00
i40e_virtchnl_pf.c i40e: Fix for failed to init adminq while VF reset 2022-01-20 10:25:40 -08:00
i40e_virtchnl_pf.h i40e: Fix for failed to init adminq while VF reset 2022-01-20 10:25:40 -08:00
i40e_xsk.c i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb 2022-01-31 09:37:47 -08:00
i40e_xsk.h xsk: Wipe out dead zero_copy_allocator declarations 2021-12-14 00:24:24 +01:00
i40e.h i40e: fix unsigned stat widths 2022-01-20 10:25:41 -08:00
Makefile