RE: [Intel-wired-lan] [PATCH net-next 9/9] ixgbevf: switch to napi_build_skb()

From: Jankowski, Konrad0
Date: Sun Dec 12 2021 - 08:47:53 EST




> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of
> Alexander Lobakin
> Sent: wtorek, 23 listopada 2021 18:19
> To: intel-wired-lan@xxxxxxxxxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Jakub Kicinski
> <kuba@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH net-next 9/9] ixgbevf: switch to
> napi_build_skb()
>
> napi_build_skb() reuses per-cpu NAPI skbuff_head cache in order to save
> some cycles on freeing/allocating skbuff_heads on every new Rx or
> completed Tx.
> ixgbevf driver runs Tx completion polling cycle right before the Rx one and
> uses napi_consume_skb() to feed the cache with skbuff_heads of
> completed entries, so it's never empty and always warm at that moment.
> Switch to the napi_build_skb() to relax mm pressure on heavy Rx.
>
> Signed-off-by: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx>
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@xxxxxxxxxxxxxxx>
> ---
> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> index b1dfbaff8b31..ea73fb3026bc 100644
> --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> @@ -944,7 +944,7 @@ static struct sk_buff *ixgbevf_build_skb(struct

Tested-by: Konrad Jankowski <konrad0.jankowski@xxxxxxxxx>