RE: [Intel-wired-lan] [PATCH v4 net-next 4/9] ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
From: Bhandare, KiranX
Date: Mon Jan 10 2022 - 05:13:31 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 4/9] ice: 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, ice_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: 2d4238f55697 ("ice: Add support for AF_XDP")
> Signed-off-by: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx>
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@xxxxxxxxxxxxxxx>
> ---
> drivers/net/ethernet/intel/ice/ice_xsk.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
Tested-by: Kiran Bhandare <kiranx.bhandare@xxxxxxxxx> A Contingent Worker at Intel