RE: [Intel-wired-lan] [PATCH v4 net-next 8/9] ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb

From: Penigalapati, Sandeep
Date: Tue Jan 11 2022 - 06:51:52 EST


>-----Original Message-----
>From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of
>Alexander Lobakin
>Sent: Wednesday, December 8, 2021 7:37 PM
>To: intel-wired-lan@xxxxxxxxxxxxxxxx
>Cc: Song Liu <songliubraving@xxxxxx>; Jesper Dangaard Brouer
><hawk@xxxxxxxxxx>; Daniel Borkmann <daniel@xxxxxxxxxxxxx>; Yonghong
>Song <yhs@xxxxxx>; Martin KaFai Lau <kafai@xxxxxx>; John Fastabend
><john.fastabend@xxxxxxxxx>; Alexei Starovoitov <ast@xxxxxxxxxx>; Andrii
>Nakryiko <andrii@xxxxxxxxxx>; Björn Töpel <bjorn@xxxxxxxxxx>;
>netdev@xxxxxxxxxxxxxxx; Jakub Kicinski <kuba@xxxxxxxxxx>; KP Singh
><kpsingh@xxxxxxxxxx>; bpf@xxxxxxxxxxxxxxx; David S. Miller
><davem@xxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
>Subject: [Intel-wired-lan] [PATCH v4 net-next 8/9] ixgbe: 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, ixgbe_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: d0bcacd0a130 ("ixgbe: add AF_XDP zero-copy Rx support")
>Signed-off-by: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx>
>Reviewed-by: Michal Swiatkowski <michal.swiatkowski@xxxxxxxxxxxxxxx>
>---
> drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati@xxxxxxxxx>