linux/drivers/net/ethernet/intel/igc
Jakub Kicinski 6e9b01909a net: remove gfp_mask from napi_alloc_skb()
__napi_alloc_skb() is napi_alloc_skb() with the added flexibility
of choosing gfp_mask. This is a NAPI function, so GFP_ATOMIC is
implied. The only practical choice the caller has is whether to
set __GFP_NOWARN. But that's a false choice, too, allocation failures
in atomic context will happen, and printing warnings in logs,
effectively for a packet drop, is both too much and very likely
non-actionable.

This leads me to a conclusion that most uses of napi_alloc_skb()
are simply misguided, and should use __GFP_NOWARN in the first
place. We also have a "standard" way of reporting allocation
failures via the queue stat API (qstats::rx-alloc-fail).

The direct motivation for this patch is that one of the drivers
used at Meta calls napi_alloc_skb() (so prior to this patch without
__GFP_NOWARN), and the resulting OOM warning is the top networking
warning in our fleet.

Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20240327040213.3153864-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-03-28 18:30:40 -07:00
..
igc.h eth: igc: remove unused embedded struct net_device 2024-03-04 10:09:22 +00:00
igc_base.c igc: field get conversion 2023-12-18 11:20:43 -08:00
igc_base.h igc: Add support for PTP .getcyclesx64() 2023-11-13 15:17:09 -08:00
igc_defines.h igc: Add support for PTP .getcyclesx64() 2023-11-13 15:17:09 -08:00
igc_diag.c
igc_diag.h
igc_dump.c
igc_ethtool.c net: intel: igc: Use linkmode helpers for EEE 2024-02-28 12:18:05 +00:00
igc_hw.h igc: offload queue max SDU from tc-taprio 2023-03-07 13:45:56 -08:00
igc_i225.c igc: field get conversion 2023-12-18 11:20:43 -08:00
igc_i225.h
igc_leds.c igc: Add support for LEDs on i225/i226 2024-02-15 13:38:59 +01:00
igc_mac.c
igc_mac.h
igc_main.c net: remove gfp_mask from napi_alloc_skb() 2024-03-28 18:30:40 -07:00
igc_nvm.c
igc_nvm.h
igc_phy.c igc: Remove temporary workaround 2024-02-14 09:43:09 -08:00
igc_phy.h
igc_ptp.c igc: Add support for PTP .getcyclesx64() 2023-11-13 15:17:09 -08:00
igc_regs.h igc: Add support for LEDs on i225/i226 2024-02-15 13:38:59 +01:00
igc_tsn.c igc: Fix hicredit calculation 2024-01-03 11:19:47 -08:00
igc_tsn.h
igc_xdp.c drivers: net: turn on XDP features 2023-02-02 20:48:23 -08:00
igc_xdp.h
Makefile igc: Add support for LEDs on i225/i226 2024-02-15 13:38:59 +01:00